- 現代CPU性能分析與優化
- (美)丹尼斯·巴赫瓦洛夫
- 678字
- 2023-11-09 19:34:49
1.4 本書的主要內容
本書主要是為了幫助開發者理解他們所開發的應用程序的性能表現,學會尋找并去除低效代碼。“為何自己寫的歸檔工具比傳統方法慢很多?為何對函數的修改引起了性能劣化?客戶在抱怨程序很慢,但你不知道該從哪里入手才能解決?是否已經充分優化了程序?對于緩存未命中和分支預測錯誤問題,應該做些什么?”希望讀完本書之后,你能得到這些問題的答案。
以下是本書內容概要:
第2 章討論如何開展性能實驗及分析實驗結果,介紹性能測試和對比結果的最佳實踐。
第3、4章介紹CPU微架構的基本知識和性能分析相關術語,如果你已經熟悉這些知識,可以跳過。
第5 章探討幾種流行的性能分析方法,介紹性能問題剖析方法的工作原理,以及應采集哪些數據。
第6章介紹現代CPU為支持及增強性能分析所提供的特性的相關信息,涵蓋它們的工作原理以及能夠解決的問題。
第7~9章介紹典型性能問題的處理方法,它們以最方便的方式與自頂向下微架構分析(Top-Down Microarchitecture Analysis,TMA)(見6.1節)一起組織和搭配使用。TMA是本書的重要概念。
第10章包含前3章中未討論過但值得在本書中專門介紹的一些優化專題。
第11章討論多線程應用程序的性能分析技巧,概要地描述多線程應用程序性能優化所要面對的挑戰及可以使用的工具。這個主題涵蓋非常廣,所以這一章僅聚焦于硬件相關的問題,例如,“偽共享”。
本書提供的例子主要基于開源軟件:Linux操作系統、基于LLVM/Clang的C和C++編譯器、perf工具。之所以選擇這些軟件不僅僅是因為它們非常流行,還因為它們開放的源代碼可以幫助我們理解底層工作原理,而這對學習和掌握本書中講述的概念非常有幫助。本書也會展示某些特定領域專用的閉源重磅工具,例如Intel VTune Profiler。
- Facebook Application Development with Graph API Cookbook
- 前端跨界開發指南:JavaScript工具庫原理解析與實戰
- Java高手真經(高級編程卷):Java Web高級開發技術
- 羅克韋爾ControlLogix系統應用技術
- Git高手之路
- MATLAB實用教程
- PhoneGap Mobile Application Development Cookbook
- 微服務架構深度解析:原理、實踐與進階
- Unity 2018 Shaders and Effects Cookbook
- Python Data Science Cookbook
- Elasticsearch Essentials
- Cocos2d-x by Example:Beginner's Guide(Second Edition)
- Simulation for Data Science with R
- 奔跑吧 Linux內核
- 軟件測試分析與實踐