本书主要针对的是C++程序的性能优化,深入介绍C++程序性能优化的方法和实例。\r\n 全书由4个篇组成。第1篇介绍C++语言的对象模型,该篇是优化C++程序的基础;第2篇主要介绍针对如何C++程序内存使用 ;第3篇将介绍程序的启动性能;第4篇介绍三类性能优化工具,即内存分析工具,性能分析工具和I/O检测工具,它们是进行性能测量的利器。\r\n 本书适用于有一定C++开发经验的开发人员,也可以作为高校相关专业师生的参考书。
第1篇 C++程序优化基础\r\n 第1章 C++对象模型\r\n 1.1 基本概念\r\n 1.2 对象的生命周期\r\n 1.3 C++对象的内存布局\r\n 1.4 构造与析构\r\n 1.5 本章小结\r\n 第2章 C++语言特性的性能分析\r\n 2.1 构造函数与析构函数\r\n 2.2 继承与虚拟函数\r\n 2.3 临时对象\r\n 2.4 内联函数\r\n 2.5 本章小结\r\n 第3章 常用数据结构的性分析\r\n 3.1 常用数据结构的性能分析\r\n 3.2 动态数组的实现及分析\r\n 3.3 本章小结\r\n第2篇 内存使用优化\r\n 第4章 操作系统的内存管理\r\n 4.1 Windows内存管理\r\n 4.2 Linux内存管理机制\r\n 4.3 本章小结\r\n 第5章 动态内存管理\r\n 5.1 oprator new/delete\r\n 5.2 自定义全局oprator new/delete\r\n 5.3 自定义类oprator new/delete\r\n 5.4 避免内存泄漏\r\n 5.5 智能指针\r\n 5.6 本章小结\r\n 第6章 内存池\r\n 6.1 自定义内存池性能优化的原理\r\n 6.2 一个内存池的实现实例\r\n 6.3 本章小结\r\n第3篇 应用程序启动性能优化\r\n 第7章 动态链接与动态库\r\n 7.1 链接技术的发展\r\n 7.2 Windows DLL,Dynamic Linked Library\r\n 7.3 Linux DSO\r\n 7.4 本章小结\r\n 第8章 程序启动过程\r\n 8.1 Win32程序启动过程\r\n 8.2 Linux程序启动过程\r\n 8.3 影响程序启动性能的因素\r\n 8.4 本章小结\r\n 第9章 程序启动性能优化\r\n 9.1 优化程序启动性能的步骤\r\n 9.2 测试程序启动性能的方法\r\n 9.3 优化可执行文件和库文件\r\n 9.4 优化源代码\r\n 9.5 本章小结\r\n第4篇 性能工具\r\n 第10章 内存分析工具IBM Rational Purify\r\n 第11章 性能分析工具IBM Rational Quantify\r\n 第12章 实时IO监测工具FileMon\r\n 参考文献
序
致力于软件业务在中国的长期发展,IBM公司于1999年在中国投资成立了中国开发中心(IBM China Development Lab,CDL)。在为IBM全球客户提供满足需求的软件、硬件产品,以及技术和解决方案的同时,作为IBM全球软件资源在中国的窗口,CDL把全球先进技术引入中国,为中国软件产业与世界的交流搭建桥梁。
八年来,CDL不断吸引全球卓越的科技和管理人才,以及中国各大学府的顶尖学生、优秀工程师加入,并积极致力于同本土合作伙伴共同建设团队,研发队伍从八年前的100多位软件工程师增至今天的3000多位,年平均成长速度超过50%。
CDL高度重视员工培养,除各种短期或长期的培训,员工还被派往IBM在美国或其他地区的实验室,与世界各地同仁一起工作,在工作中学习先进的技术和管理方式。CDL更是将IBM全球实验室中拥有丰富经验的技术和管理人才请到中国工作,向中国员工传授经验。庞大的资金注入,人性化的管理方式,以及对人才方面的巨大投资,对人力资本的极度重视,使中国开发中心得以与IBM全球实验室共同成长,最终拥有一支经验丰富,训练有素的团队。
目前,CDL与全世界同步发展多项领域产品,正在为包括Information Management、WebSphere、Lotus、Tivoli、Rational在内的所有IBM软件核心产品的研究和开发做出卓越贡献,并在SOA、数据库、WebSphere产品系列、普及运算、Lotus Workplace Client技术及Linux系统方面取得非凡的成就,被视为IBM全球产品的开发重心之一。
在CDL高速发展的同时,为将信息产业的最新技术尽快地转化为对中国用户有价值的解决方案,帮助用户更有成效地开展业务,增强竞争优势,我们恪守为中国软件业与世界交流搭建桥梁的承诺,希望将IBM全球公司几十年的技术积淀和我们的心得与大家共同分享,于是,我们选择了实力非凡、专业创新的电子工业出版社博文视点公司作为合作伙伴,推出这一由IBM中国开发中心(CDL)的架构师、资深软件工程师们编写的系列丛书,范围涵盖了从开发实践、测试方法、项目实践、最新技术标准和发展趋势探讨,到先进解决方案构建、面向服务的架构的提供等诸多方面。
我希望这套丛书能把我们一线专家宝贵的经验,以及我们的见解呈现给读者,并希望无论是企业IT经理、程序设计和开发人员、软件工程师、软件架构师,还是在校学生,或者是对计算机领域有兴趣的人员,都能从中获取知识或者得到启发。
在同业界分享经验和世界最新技术及趋势的同时,我们希望能为推动中国软件产业的加速发展贡献微薄之力。IBM中国开发中心将一如既往地同业界同仁一起,共铸中国信息产业的辉煌明天!
IBM院士、总经理 IBM中国开发中心
2007年2月
冯宏华,清华大学计算机科学与技术系硕士。IBM中国开发中心高级软件工程师。2003年12月加入IBM中国开发中心,主要从事IBM产品的开发、性能优化等工作。兴趣包括C/C++应用程序性能调优,Windows应用程序开发,Wed应用程序开发等。
徐莹,山东大学计算机科学与技术系硕士。2003年4月加入IBM中国开发中心,现任IBM中国开发中心开发经理,一直从事IBM软件产品在多个操作系统平台上的开发工作。曾参与IBM产品在Windows和Linux平台上的性能优化工作,对C/C++编程语言和跨平台的大型软件系统的开发有较丰富的经验。
程远,北京大学计算机科学与技术系硕士。IBM中国开发中心高级软件工程师。2003年加入IBM中国开发中心,主要从事IBM Productivity Tools产品的开发、性能优化等工作。兴趣包括C/C++编程语言,软件性能工程,Windows/Linux平台性能测试优化工具等。
汪磊,北京航空航天大学计算机科学与技术系硕士,目前是IBM中国软件开发中心高级软件工程师。从2002年12月加入IBM中国开发中心至今一直从事旨在提高企业生产效率的应用软件开发。兴趣包括C\C++应用程序的性能调优,Java应用程序的性能调优。
无封面