出版社:电子工业出版社
年代:2007
定价:35.0
本书主要针对的是C++程序的性能优化,深入介绍C++程序性能优化的方法和实例。由4个部分组成。第1部分介绍C++语言的对象模型,这一部分是进行C++程序优化的基础;第2部分主要介绍针对C++程序内存使用的优化;第3部分将介绍程序的启动性能的优化;的最后将介绍三类性能工具:内存分析工具,性能分析工具和I/O检测工具,它们是进行性能测量的利器。本书适用于有一定C++开发经验的开发人员,也可以作为高校教师学生的参考书。
第1篇C++程序优化基础
第1章C++对象模型3
1.1基本概念4
1.1.1程序使用内存区4
1.1.2全局/静态存储区及常量数据区7
1.1.3堆和栈9
1.1.4C++中的对象10
1.2对象的生命周期11
1.3C++对象的内存布局16
1.3.1简单对象17
1.3.2单继承20
1.3.3多继承23
1.4构造与析构33
1.5本章小结35
第2章C++语言特性的性能分析37
2.1构造函数与析构函数39
2.2继承与虚拟函数51
2.3临时对象61
2.4内联函数77
2.5本章小结86
第3章常用数据结构的性能分析87
3.1常用数据结构性能分析88
3.1.1遍历93
3.1.2插入95
3.1.3删除98
3.1.4排序101
3.1.5查找105
3.2动态数组的实现及分析107
3.2.1动态数组简介107
3.2.2动态数组实践及分析109
3.3本章小结116
第2篇内存使用优化
第4章操作系统的内存管理119
4.1Windows内存管理120
4.1.1使用虚拟内存121
4.1.2访问虚拟内存时的处理流程123
4.1.3虚拟地址到物理地址的映射126
4.1.4虚拟内存空间使用状态记录128
4.1.5进程工作集130
4.1.6Win32内存相关API132
4.2Linux内存管理机制142
4.2.1进程的内存布局143
4.2.2物理内存管理145
4.2.3虚拟内存管理146
4.2.4虚拟地址映射为物理地址147
4.3本章小结148
第5章动态内存管理149
5.1operatornew/delete150
5.2自定义全局operatornew/delete155
5.3自定义类operatornew/delete160
5.4避免内存泄漏163
5.5智能指针169
5.6本章小结181
第6章内存池183
6.1自定义内存池性能优化的原理184
6.1.1默认内存管理函数的不足184
6.1.2内存池的定义和分类184
6.1.3内存池工作原理示例185
6.2一个内存池的实现实例186
6.2.1内部构造187
6.2.2总体机制188
6.2.3细节剖析191
6.2.4使用方法202
6.2.5性能比较202
6.3本章小结203
第3篇应用程序启动性能优化
第7章动态链接与动态库207
7.1链接技术的发展208
7.1.1编译、链接和加载208
7.1.2静态链接与静态链接库211
7.1.3动态链接与动态库218
7.2WindowsDLL,DynamicLinkedLibrary219
7.2.1DLL基础219
7.2.2DLL如何工作224
7.2.3关于DLL的杂项232
7.3LinuxDSO233
7.3.1DSO与ELF234
7.3.2DSO如何工作241
7.3.3构建与使用DSO248
7.4本章小结260
第8章程序启动过程261
8.1Win32程序启动过程262
8.2Linux程序启动过程266
8.3影响程序启动性能的因素267
8.3.1源代码因素268
8.3.2动态链接库因素269
8.3.3配置文件/资源文件因素276
8.3.4其他因素277
8.4本章小结279
第9章程序启动性能优化281
9.1优化程序启动性能的步骤282
9.2测试程序启动性能的方法283
9.3优化可执行文件和库文件286
9.3.1减少动态链接库的数量286
9.3.2减小动态链接库尺寸288
9.3.3优化可执行文件和库文件中的代码布局288
9.4优化源代码290
9.4.1优化启动时读取的配置文件及帮助文件291
9.4.2预读频繁访问的文件291
9.4.3清除产生exception的代码293
9.4.4PreLoad294
9.4.5延迟初始化294
9.4.6多线程化启动295
9.5本章小结295
第4篇性能工具
第10章内存分析工具IBMRationalPurify299
10.1RationalPurify工作原理300
10.2RationalPurify使用指南303
10.3RationalPurify实例分析308
10.4本章小结312
第11章性能分析工具IBMRationalQuantify313
11.1RationalQuantify工作原理314
11.2RationalQuantify使用指南316
11.3RationalQuantify实例分析319
11.4本章小结324
第12章实时IO监测工具FileMon325
12.1FileMon的工作原理326
12.2FileMon使用指南328
12.3使用FileMon解决问题331
12.4本章小结334
参考文献335
冯宏华, 等编著
(日) 片山善夫, 著
(美) 约翰巴夫 (Johnsonbaugh.R.) , (美) 卡林 (Kalin,M.) , 著
郭兆荣, 李菁, 王彦, 编著
曹岩, 王海宁, 主编
于秀山, 等编著
葛一鸣, 编著
曹岩, 王海宁, 主编
郑立华, 主编