3dwoo大學簡體電腦書店
現代CPU性能分析與優化
( 簡體 字)
作者:[美]丹尼斯·巴赫瓦洛夫(Denis Bakhvalov) 著類別:1. -> 程式設計 -> 綜合
出版社:機械工業現代CPU性能分析與優化 3dWoo書號: 56236
詢問書籍請說出此書號!
缺書
NT售價: 495
出版日:1/1/2023
頁數:206
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 字 )
ISBN:9787111719489 加入購物車加到我的最愛 (請先登入會員)
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社)
第1章 導讀1
1.1 為什麼需要性能調優2
1.2 誰需要做性能調優5
1.3 什麼是性能分析7
1.4 本書的主要內容8
1.5 本書不包含什麼內容9
1.6 本章總結10
第一部分 現代CPU性能分析
第2章 性能測量12
2.1 現代系統中的雜訊13
2.2 生產環境中的性能測量15
2.3 自動檢測性能退化問題16
2.4 手動性能測試18
2.5 軟體計時器和硬體計時器22
2.6 微基準測試24
2.7 本章總結25
第3章 CPU微架構27
3.1 指令集架構27
3.2 流水線28
3.3 利用指令級並行30
3.3.1 亂序執行30
3.3.2 超標量引擎和超長指令字31
3.3.3 投機執行33
3.4 利用執行緒級並行34
3.5 記憶體層次35
3.5.1 快取記憶體層次35
3.5.2 主存39
3.6 虛擬記憶體39
3.7 單指令多資料多處理器40
3.8 現代CPU設計42
3.8.1 CPU前端42
3.8.2 CPU後端44
3.9 性能監控單元44
第4章 性能分析中的術語和指標47
4.1 退休指令與執行指令47
4.2 CPU利用率48
4.3 CPI和IPC48
4.4 微操作49
4.5 流水線槽位51
4.6 核時鐘週期和參考時鐘週期51
4.7 緩存未命中52
4.8 分支預測錯誤53
第5章 性能分析方法55
5.1 代碼插樁56
5.2 跟蹤58
5.3 負載表徵59
5.3.1 統計性能事件59
5.3.2 手動收集性能計數60
5.3.3 事件多工和縮放62
5.4 採樣63
5.4.1 使用者模式採樣和基於硬體
事件的採樣64
5.4.2 尋找熱點64
5.4.3 採集調用棧66
5.4.4 火焰圖69
5.5 屋頂線性能模型69
5.6 靜態性能分析73
5.7 編譯器優化報告75
5.8 本章總結78
第6章 性能分析相關的CPU特性80
6.1 自頂向下微架構分析技術81
6.1.1 Intel VTune Prof iler中的
TMA84
6.1.2 Linux perf中的TMA85
6.1.3 第一步:確定瓶頸86
6.1.4 第二步:定位具體的代碼
位置88
6.1.5 第三步:解決問題90
6.1.6 小結91
6.2 後分支記錄92
6.2.1 採集LBR棧94
6.2.2 獲取調用圖95
6.2.3 識別熱點分支96
6.2.4 分析分支預測錯誤率97
6.2.5 機器碼的準確計時98
6.2.6 評估分支輸出的概率100
6.2.7 其他應用場景101
6.3 基於處理器事件的採樣101
6.3.1 精准事件102
6.3.2 降低採樣開銷103
6.3.3 分析記憶體訪問104
6.4 Intel處理器跟蹤技術105
6.4.1 工作流105
6.4.2 時間報文106
6.4.3 採集和解析跟蹤文件107
6.4.4 用法108
6.4.5 磁碟空間和解析時間109
6.5 本章總結110
第二部分 基於原始程式碼的
CPU調優
第7章 CPU前端優化117
7.1 機器碼佈局118
7.2 基本塊118
7.3 基本塊佈局119
7.4 基本塊對齊121
7.5 函數拆分123
7.6 函數分組125
7.7 基於剖析檔的編譯優化126
7.8 對ITLB的優化128
7.9 本章總結128
第8章 CPU後端優化130
8.1 記憶體綁定130
8.1.1 緩存友好的資料結構131
8.1.2 顯式記憶體預取136
8.1.3 針對DTLB優化138
8.2 核心綁定141
8.2.1 函數內聯141
8.2.2 迴圈優化143
8.2.3 向量化149
8.3 本章總結158
第9章 優化錯誤投機160
9.1 用查表替換分支161
9.2 用斷言替換分支162
9.3 本章總結164
第10章 其他調優165
10.1 編譯時計算165
10.2 編譯器內建函數166
10.3 緩存預熱167
10.4 減少慢速浮點運算168
10.5 系統調優169
第11章 優化多執行緒應用程式171
11.1 性能擴展和開銷171
11.2 並行效率指標174
11.2.1 有效CPU利用率174
11.2.2 執行緒數量174
11.2.3 等待時間175
11.2.4 自旋時間175
11.3 使用Intel VTune Profiler進行
分析175
11.3.1 尋找耗時鎖175
11.3.2 平臺視圖178
11.4 使用Linux perf進行分析178
11.5 使用Coz進行分析181
11.6 使用eBPF和GAPP進行分析181
11.7 檢測一致性問題182
11.7.1 快取一致性協議182
11.7.2 真共用184
11.7.3 偽共用184
11.8 本章總結186
附錄A?減少測量雜訊188
附錄B?LLVM向量化程式193
跋198
術語200
參考文獻20
本書是一本優化運行在現代CPU上的應用程式性能的指南。它結合了來自不同行業的許多專家的知識,包括來自穀歌、Facebook、領先的HFT和遊戲開發公司的工程師。
pagetop