注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡軟件與程序設計C/C++及其相關提高C++性能的編程技術

提高C++性能的編程技術

提高C++性能的編程技術

定 價:¥33.00

作 者: (美)Dov Bulka,(美)David Mayhew著;常曉波,朱劍平譯;常曉波譯
出版社: 清華大學出版社
叢編項:
標 簽: C++

ISBN: 9787302065500 出版時間: 2003-06-01 包裝: 精裝
開本: 23cm 頁數(shù): 256 字數(shù):  

內(nèi)容簡介

  很多程序員和軟件設計師都認為追求高效的C++是一種很愚蠢的做法。他們認為C++天生就慢,對性能要求很高的應用程序不適合。因此,有一些領域是C++幾乎無法成功進入的,如網(wǎng)絡、操作系統(tǒng)內(nèi)核、設備驅(qū)動程序等。本書反駁了這種觀點。在使商業(yè)應用程序獲取最大性能方面,本書的兩位作者擁有第一手資料。本書說明了使用C++開發(fā)高效程序的潛力,提示了實踐中一些平常的面向?qū)ο蟮脑O計原則以及獲得大幅度性能提高的C++編程技術。本書還指出了在設計和編碼中產(chǎn)生隱含操作代價的一些常見錯誤。本書關注強大和靈活性與良好性能和可伸縮性的結合,從而使兩方面均達到最佳。具體主題包括臨時對象、內(nèi)存管理、模板、繼承、虛承數(shù)、內(nèi)聯(lián)、引用計數(shù)、STL等。通過本書,您將能夠精通最佳性能技術的主要內(nèi)容。

作者簡介

  Dov Bulka在軟件開發(fā)以及向市場交付大型軟件產(chǎn)品方面有15年的經(jīng)驗。他曾是IBM DominoGo Web服務器的性能設計師,一些曾出現(xiàn)在Internet上的最大型Web站點使用了這種服務器,包括1996年亞特蘭大奧運會的Web站點。他獲得了杜克大學的計算機科學博士學位。

圖書目錄


引言
第1章 跟蹤范例
1.1 初步的跟蹤實現(xiàn)
1.1.1 發(fā)生了什么問題
1.1.2 恢復計劃
1.2 要點
第2章 構造函數(shù)和析構函數(shù)
2.1 繼承
2.2 合成
2.3 緩式構造
2.4 冗余構造
2.5 要點
第3章 虛函數(shù)
3.1 虛函數(shù)的構造
3.2 模板和繼承
3.2.1 硬編碼
3.2.2 繼承
3.2.3 模板
3.3 要點
第4章 返回值優(yōu)化
4.1 按值返回的構造
4.2 返回值優(yōu)化
4.3 計算性構造函數(shù)
4.4 要點
第5章 臨時對象
5.1 對象定義
5.2 類型不匹配
5.3 按值傳遞
5.4 按值返回
5.5 使用op=()消除臨時對象
5.6 要點
第6章 單線程內(nèi)存池
6.1 版本0:全局函數(shù)new()和delete()
6.2 版本1:專用Rational內(nèi)存管理器
6.3 版本2:固定大小對象的內(nèi)存池
6.4 版本3:單線程可變大小內(nèi)存管理器
6.5 要點
第7章 多線程內(nèi)存池
7.1 版本4:實現(xiàn)
7.2 版本5:快速鎖定
7.3 要點
第8章 內(nèi)聯(lián)基礎
8.1 什么是內(nèi)聯(lián)
8.2 方法調(diào)用代價
8.3 為何使用內(nèi)聯(lián)
8.4 內(nèi)聯(lián)詳述
8.5 內(nèi)聯(lián)虛方法
8.6 通過內(nèi)聯(lián)獲得性能
8.7 要點
第9章 內(nèi)聯(lián)——性能方面的考慮
9.1 調(diào)用間優(yōu)化
9.2 為何不使用內(nèi)聯(lián)
9.3 開發(fā)階段和編譯時的內(nèi)聯(lián)考慮
9.4 基于配置的內(nèi)聯(lián)
9.5 內(nèi)聯(lián)規(guī)則
9.5.1 惟一
9.5.2 微小
9.6 要點
第10章 內(nèi)聯(lián)技巧
10.1 條件內(nèi)聯(lián)
10.2 選擇性內(nèi)聯(lián)
10.3 遞歸內(nèi)聯(lián)
10.4 對靜態(tài)局部變量進行內(nèi)聯(lián)
10.5 與體系結構有關的注意事項:多寄存器集
10.6 要點
第11章 標準模板庫
11.1 漸近復雜度
11.2 插入
11.3 刪除
11.4 遍歷
11.5 查找
11.6 函數(shù)對象
11.7 比STL更好
11.8 要點
第12章 引用計數(shù)
12.1 實現(xiàn)細節(jié)
12.2 已存在類
12.3 并發(fā)引用計數(shù)
12.4 要點
第13章 代碼優(yōu)化
13.1 緩存
13.2 預先計算
13.3 降低靈活性
13.4 80-20規(guī)則:提高常用路徑的速度
13.5 緩式計算
13.6 無用計算
13.7 系統(tǒng)體系結構
13.8 內(nèi)存管理
13.9 庫和系統(tǒng)調(diào)用
13.10 編譯器優(yōu)化
13.11 要點
第14章 設計優(yōu)化
14.1 設計靈活性
14.2 緩存
14.2.1 Web服務器時間戳
14.2.2 數(shù)據(jù)擴展
14.2.3 公用代碼陷阱
14.3 高效的數(shù)據(jù)結構
14.4 緩式計算
14.5 無用計算
14.6 失效代碼
14.7 要點
第15章 可伸縮性
15.1 SMP體系結構
15.2 Amdahl法則
15.3 多線程和同步術語
15.4 把一個任務分解成多個子任務
15.5 緩存共享數(shù)據(jù)
15.6 無共享
15.7 部分共享
15.8 鎖的粒度
15.9 偽共享
15.10 Thundering Herd
15.11 讀/寫鎖
15.12 要點
第16章 系統(tǒng)體系結構相關性
16.1 內(nèi)存層次
16.2 寄存器:內(nèi)存之王
16.3 磁盤和內(nèi)存結構
16.4 緩存影響
16.5 緩存顛簸
16.6 避免跳轉(zhuǎn)
16.7 簡單計算勝過小分支
16.8 線程影響
16.9 上下文切換
16.10 內(nèi)核交叉
16.11 線程選擇
16.12 要點
參考文獻

本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) ranfinancial.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號 鄂公網(wǎng)安備 42010302001612號