C程式性能最佳化:20個實驗與達人技巧

C程式性能最佳化:20個實驗與達人技巧

《C程式性能最佳化:20個實驗與達人技巧》從CPU與編譯器的運行機制講起,帶領讀者一步步了解程式的執行成本、編譯器的最佳化選項等,總結出許多C程式性能最佳化的技巧,並以實驗的方式進行了講解,簡明易懂,使人印象深刻。書中帶有大量的代碼實例,使讀者不僅能夠了解代碼最佳化的原理,還能夠輕鬆地在實踐中套用。 《C程式性能最佳化:20個實驗與達人技巧》適合有一定基礎的C語言編程人員閱讀。

基本介紹

  • 書名:C程式性能最佳化:20個實驗與達人技巧
  • 作者:片山善夫
  • 出版社:人民郵電出版社
  • 頁數:139頁
  • 開本:32
  • 外文名:Cプログラム高速化研究班:コード高速化する20の實驗と達人の技
  • 譯者:何本華
  • 出版日期:2013年1月1日
  • 語種:簡體中文
  • ISBN:9787115300003
基本介紹,內容簡介,作者簡介,圖書目錄,

基本介紹

內容簡介

作者精通高效編程,其開發的C編譯器,不僅適用於16位及32位系統,還能在GPU中對視頻數據進行實時編譯。作者將C高效編程的心得濃縮於20個技巧,並將這些技巧通過實驗的方式進行講解,簡明易懂,使人印象深刻。書中帶有大量的代碼實例,使讀者不僅能夠從理論上得以提高,而且還能夠輕鬆地在實踐中套用。

作者簡介

片山善夫:具有近二十年的C語言編譯器和解釋器開發經驗。現從事對SPARC、VisionChip等體系結構的研究。
譯者介紹:何本華,日語專業翻譯,擅長IT類、工程技術類、新聞稿件類翻譯,曾擔任奧特曼之父中田幸和的口譯。居福國,畢業於復旦大學計算機科學與技術專業,精通C語言和Java,具有豐富的編程經驗。

圖書目錄

第1章CPU與編譯器概論
1.1高速路與人行道
1.2編譯器是如何運作的
編譯後的彙編語言程式
添加最佳化選項後的結果
1.3CPU是如何運作的
指令集架構與微架構
如何執行指令
指令流水線
高速快取
深入探討高速快取
快取塊的替換算法
超標量指令執行
第1章是不是偏離了主題
第2章執行成本
2.1兩程式的執行成本
書中的探討
2.3防止基準測試程式被最佳化
防止操作“歸併”
防止變數在初始化時被最佳化
防止重複單一指令被最佳化
本書中的基準測試程式
2.4驗證——哪一步操作導致執行速度緩慢
2.5基礎加法與賦值運算
單一的賦值操作(暫存器間的傳送)
單一的賦值操作(數據相互關聯的情況)
常量賦值
變數間的加法運算
變數與常量相加
2.6耗時的乘法運算
變數間的乘法運算
變數與常量相乘
2.7更為耗時的除法運算
變數的除法(暫存器間的計算)
除數為2、4的除法運算
除數不是2的乘方的除法運算
無符號整數除法運算
除數為2的乘方時除法運算使用低成本移位指令
2.8記憶體讀取
小數組的讀取(小範圍內的記憶體操作)
大數組的讀取(大範圍內的記憶體操作)
與台式機的CPU進行比較
2.9造成執行時間差別的判斷語句
無else節點的if語句
帶else節點的if語句
2.1032/64位環境中不同的函式調用
2.11實驗總結
若想被愛則先愛
第3章尋找性能瓶頸
3.1使用gprof命令進行分析
gprof的使用方法
3.2哪個環節在消耗時間
獲取庫函式的評測信息
耗時的函式
顯示庫函式的調用次數
3.3函式的調用關係
3.4進行數據分析的原理
3.5其他性能分析器
培養高水平人才的教育系統
第4章達人方法論
4.1達人的關注點
硬體篇
編譯器/中間件篇
算法篇
4.2【硬體篇】數組和快取的有效利用
矩陣的乘法運算
調整數組操作的順序
展開循環的方式
矩陣的分塊
4.3【庫函式篇】緩慢函式的迂迴戰術
strcmp函式為何緩慢
最佳化的陷阱
4.4【硬體篇】使用SIMD進行字元串對比
4.5【庫函式篇】對比各種輸入輸出方法
行輸入函式的對比
輸出方法
管道輸入輸出的特殊案例
管道輸入輸出與檔案輸入輸出
4.6【算法篇】二分法查找與平衡二叉樹
海量數據的分類
真要做到如此地步?
第5章進一步研究編譯器
5.1不同級別的最佳化選項
GCC的最佳化選項
“零最佳化”對調試有效
以不出現未定義行為為前提的2級以上最佳化選項
5.2最佳化·暫存器·外部變數
5.3刪除公共子表達式為程式瘦身
5.4指針與複雜運算簡化
5.5將用戶函式進行內聯展開
和別人拉開差距!
第6章給辦公系統的一些啟示
6.1排序與字元串操作
6.2小數點數的計算與字元串/數字的換算
塊數據輸入輸出和欄位分割
統計帶小數部分的數
整數轉換成字元串
性能最佳化的效果
6.3半角字元轉換為全形字元
判定字元的位元組數
ASCII字元與半角片假名字元的判定
ASCII字元轉換為全形字元
半角字元轉換為全形字元
性能最佳化的效果
判定字元位元組數的其他方法
有關UTF—8
6.4探索具有某種數據特性的數組
數據的特性
二分法查找與線性查找相結合
性能最佳化的效果
後記
  

相關詞條

熱門詞條

聯絡我們