代碼最佳化:有效使用記憶體

代碼最佳化:有效使用記憶體

代碼最佳化:有效使用記憶體系統深入地介紹了各種代碼最佳化編程技術。全書分為4章。第1章集中介紹如何確定程式中消耗CPU時鐘最多的熱點代碼的所謂程式剖析技術以及典型部分工具的實用知識。第2,3章分別全面介紹RAM了系統與高速快取子系統的代碼最佳化知識。第4章主要介紹了機器代碼最佳化技術。各章在討論基本原理的同時詳細給出了代碼實例,並對最佳化性能進行了定量的分析。

基本信息

簡介

該書特別適合於作為應用程式員及系統程式設計師的學習與開發之用。同時,本書對在硬體方面的專業人員與技術工作者有一定的參考價值。

作者簡介

Kris Kasperskty是黑客破譯、反彙編與代碼最佳化技術的專欄作家。他一直致力於研究安全與系統程式設計方面的問題,內容涉及編譯器開發、最佳化技術、安全機制研究、實時作業系統核心的創建以及反病毒程式的設計等多個領域。

正是因為他雖“雜”卻“博”、雖“博”卻“深”,才能用詼諧而輕鬆的話語,把嚴密的科技知識在談笑間透徹地加以剖析,讓讀者在輕鬆愉快之中學習和體驗科技的奧妙,這是一種特色、一種方式、一種態度,更是一種境界。

目錄

譯者序

第1章 程式剖分

1.1 剖分的目標與目的

1.1.1 總執行時間

1.1.2 執行時間的類型

1.1.3 處罰信息

1.1.4 調用次數

1.1.5 覆蓋層次

1.2 微剖分的基本問題

1.2.1 流水作業或者吞吐量與等待時間

1.2.2 測不準

1.2.3 硬體最佳化

1.2.4 低解析度

1.3 宏剖分的基本問題

1.3.1 運行時間的不一致性

1.3.2 二度運行問題

1.3.3 負面效應

1.3.4 單台機器的代碼最佳化問題

1.4 最新剖分軟體概述

1.4.1 Intelvtune

1.4.2 AMD Code Analyst

1.4.3 Microsoft的profile.exe

1.5 開發自己的剖分軟體

1.6 VTune實用剖分知識

1.6.1 第一步:刪除printf函式

1.6.2 第二步:將strlen函式體移出循環

1.6.3 第三步:對齊數據

1.6.4 第四步:刪除strlen函式

1.6.5 第五步:刪除除法操作

1.6.6 第六步:刪除性能監測代碼

1.6.7 第七步:函式組合

1.6.8 第八步:減少記憶體訪問操作的次數

1.6.9 第九步:把VTune當做私人教練

1.6.10 第十步:下結論

1.6.11 結果與預測

第2章 RAM子系統

2.1 RAM概述

2.2 RAM的層次結構

2.3 隨機存取存儲器

2.4 RAM的設計與工作原理

2.4.1 核心部分

2.4.2 傳統DRAM(頁面模式的DRAM)

2.4.3 DRAM的發展

2.4.4 快速頁面模式的DRAM(FPM DRAM)

2.4.5 存儲器時序

2.4.6 擴展數據輸出DRAM(EDO DRAM)

2.4.7 突髮式EDO DRAM(BEDODRAM)

2.4.8 同步DRAM(SDRAM)

2.4.9 倍速SDRAM(DDR SDRAM)或者SDRAM II

2.4.10 直接Rambus DRAM(直接RDRAM)

2.4.11 不同存儲器類型的比較

2.5 存儲器與處理器之間的互動操作

2.5.1 計算全存取時間

2.6 DRAM物理地址到邏輯地址的映射

2.7 記憶體最佳化操作

2.7.1 建議

2.7.2 展開循環

2.7.3 消除數據相關性

2.7.4 數據並行處理

2.7.5 最佳化引用數據結構

2.7.6 減小數據結構的尺寸

2.7.7 DRAM板塊上的數據分布策略

2.7.8 規劃數據流

2.7.9 按位元組、雙字與四字進行記憶體處理

2.7.10 數據對齊

2.7.11 記憶體訪問與計算的組合

2.7.12 讀寫操作的組合

2.7.13 只在必要時才訪問記憶體

2.7.14 內置C記憶體處理函式的最佳化

2.7.15 記憶體處理函式的最佳化質量

2.7.16 C字元串庫函式的最佳化

2.7.17 字元串處理函式的質量最佳化

2.7.18 塊處理算法的最佳化

2.7.19 大型數組排序的最佳化

2.8 RAM測試問題

第3章 高速快取子系統

第4章 機器最佳化

相關詞條

相關搜尋

熱門詞條

聯絡我們