- 現(xiàn)代CPU性能分析與優(yōu)化
- (美)丹尼斯·巴赫瓦洛夫
- 497字
- 2023-11-09 19:34:50
1.5 本書不包含什么內(nèi)容
系統(tǒng)性能取決于構(gòu)成整個系統(tǒng)的不同組件,如CPU、操作系統(tǒng)、內(nèi)存、IO設備等,而應用程序能夠從不同組件的性能優(yōu)化獲益。通常來說,工程師應當分析整個系統(tǒng)的性能,然而,影響整個系統(tǒng)性能的最大因素是其核,即CPU。這也是本書從CPU視角探討性能分析的原因,當然,在個別情況下也會涉及操作系統(tǒng)、內(nèi)存等子系統(tǒng)。
本書討論的問題只局限于單CPU,也就是說,本書不討論分布式、NUMA、異構(gòu)計算系統(tǒng)的優(yōu)化技術,也不討論使用OpenCL、OpenMP等框架平臺將計算卸載到加速器(GPU、FPGA等)的技術。
本書圍繞Intel x86 CPU架構(gòu)平臺展開,不提供AMD、ARM、RISC-V等芯片架構(gòu)的優(yōu)化辦法,但是本書運用的調(diào)優(yōu)技巧同樣適用于這些處理器。另外,本書中的案例以Linux操作系統(tǒng)為平臺,但是同樣的技巧實際上也可以應用于Windows、Mac等操作系統(tǒng)。
本書中所有的代碼片段都以C、C++以及x86匯編語言編寫,但是絕大部分的思想也可以用于使用類似Rust、Go甚至Fortran語言編寫的代碼。由于本書面向在用戶態(tài)運行的程序,直接接近硬件本身,因此我們不討論管理環(huán)境(例如Java)下的問題。
最后,本書作者假定讀者能完全控制自己開發(fā)的軟件,包括選擇庫函數(shù)、編譯器等。因此,本書不包括對某些商用軟件包的調(diào)優(yōu),例如優(yōu)化SQL數(shù)據(jù)庫查詢。
推薦閱讀
- Docker and Kubernetes for Java Developers
- 移動UI設計(微課版)
- Drupal 8 Blueprints
- jQuery從入門到精通 (軟件開發(fā)視頻大講堂)
- R的極客理想:工具篇
- Effective Python Penetration Testing
- C語言課程設計
- Python忍者秘籍
- Building Microservices with .NET Core
- Java語言程序設計教程
- ASP.NET程序開發(fā)范例寶典
- MySQL程序員面試筆試寶典
- Managing Microsoft Hybrid Clouds
- Angular Design Patterns
- Python物理建模初學者指南(第2版)