您的浏览历史

C++应用程序性能优化

促销活动

基本信息

内容简介回到顶部↑

本书主要针对的是C++程序的性能优化,深入介绍C++程序性能优化的方法和实例。
全书由4个篇组成。第1篇介绍C++语言的对象模型,该篇是优化C++程序的基础;第2篇主要介绍针对如何C++程序内存使用 ;第3篇将介绍程序的启动性能;第4篇介绍三类性能优化工具,即内存分析工具,性能分析工具和I/O检测工具,它们是进行性能测量的利器。
本书适用于有一定C++开发经验的开发人员,也可以作为高校相关专业师生的参考书。

作译者回到顶部↑

本书提供作译者介绍

冯宏华,清华大学计算机科学与技术系硕士。IBM中国开发中心高级软件工程师。2003年12月加入IBM中国开发中心,主要从事IBM产品的开发、性能优化等工作。兴趣包括C/C++应用程序性能调优,Windows应用程序开发,Wed应用程序开发等。

徐莹,山东大学计算机科学与技术系硕士。2003年4月加入IBM中国开发中心,现任IBM中国开发中心开发经理,一直从事IBM软件产品在多个操作系统平台上的开发工作。曾参与IBM产品在Windows和Linux平台上的性能优化工作,对C/C++编程语言和跨平台的大型软件系统.. << 查看详细

目录回到顶部↑

第1篇 C++程序优化基础
第1章 C++对象模型
1.1 基本概念
1.2 对象的生命周期
1.3 C++对象的内存布局
1.4 构造与析构
1.5 本章小结
第2章 C++语言特性的性能分析
2.1 构造函数与析构函数
2.2 继承与虚拟函数
2.3 临时对象
2.4 内联函数
2.5 本章小结
第3章 常用数据结构的性分析
3.1 常用数据结构的性能分析
3.2 动态数组的实现及分析
3.3 本章小结
第2篇 内存使用优化
第4章 操作系统的内存管理
4.1 Windows内存管理

前言回到顶部↑

在计算机发展的早期阶段,硬件资源相对而言是非常昂贵的。不论是CPU时间,还是内存,都给编程人员设置了很大的限制。因此,当时程序对运行性能和内存空间占用的要求是非常严格的。很多开发人员为了减少1%的CPU运行时间或者减少几十个,甚至几个字节而努力。随着计算机技术的快速发展,硬件资源变得相对便宜。因此有的观点认为在开发软件时,软件的性能优化将不再重要,硬件将解决性能问题。但事实上,这种观点是相对片面的。的确,硬件的发展解决了部分软件的性能问题。但随着硬件计算能力的提高,人们对软件功能的要求也越来越高。当今的软件功能越来越复杂,给用户的界面和操作体验也越来越智能和友好,这些需求带来的软件性能上的要求是硬件不能完全解决的。很多实际的项目证明,如果在开发软件时不重视性能的优化,最终虽然实现了功能上的要求,但软件的运行效率低下,也不能给用户带来很好的效益。因此,软件的性能优化是计算机软件开发过程中需要一直关注的重要因素。.
程序性能优化的过程
性能优化的第1步是测量,尤其是规模较大,并且比较复杂的软件系统,测量性能数据是进行性能优化的基础。有了真实的数据,才可以进行第2步,即分析数据,从而找到系统真正的瓶颈所在。毫无疑问,优化应该是针对系统的性能瓶颈进行,而找到性能瓶颈应该是建立在真实性能数据的基础上,而不能是主观臆断。现在有很多工具可以辅助进行性能测量和数据分析,本书也会介绍一些这方面工具的使用方法和实践经验。
进行性能优化的核心在于第3步,即分析原因,修改程序,这也将是本书重点介绍的部分。程序的性能包括很多方面,常见的有程序的启动速度,运行速度及运行时占用的内存等。而影响这些性能的因素也很多,大致可以分为如下两类。
软件编程设计因素:如算法和数据结构的选择,编程语言的使用等。
软件系统结构因素:如动态库/静态库的组织、外部数据的存储及网络环境等。
软件编程设计因素可以看做是程序的内在本质,一般来说,也是对软件性能影响较大的因素。只有对编程语言、算法和数据结构有深入的了解,才能分析出原因,并且找出解决性能问题的方法。本书将针对C++语言,深入介绍C++程序性能优化的方法和实例。
软件系统的结构因素可以看做是程序的外在形式,它们一般和操作系统紧密相关。尤其是现在的软件系统,由于功能复杂,大都采用组件形式,以最大限度地提高可复用性。因此,一般会包含一些动态库/静态库,这些库的组织也会影响到软件系统的性能。本书将针对Windows和Linux介绍动态库和静态库的基本知识及其对软件系统性能的影响。需要指出的是,上面这个优化的过程需要在软件开发的整个过程中不断地迭代进行。而且开始得越早,出现的性能问题越容易解决。..
本书的结构
本书主要针对C++程序的性能优化,由4篇组成。第1篇介绍C++语言的对象模型,与性能有关的语言特性及一些数据结构的性能,本篇是C++程序优化的基础。
第2篇主要介绍C++程序内存使用的优化。内存无疑是影响程序性能的重要因素,很多程序由于没有采用正确的方法分配和使用内存,不仅占用内存较多,而且运行效率不高。在本篇中将结合一些操作系统的内存管理机制介绍如何在特定的平台下进行内存优化。此外,还将深入介绍C++语言管理动态内存的机制和方法,并介绍一个常用的内存管理方法,即内存池的实现。
第3篇介绍程序启动性能的优化。程序的启动性能不仅受到软件编程设计因素的影响,也会受到系统结构因素的影响,尤其是动态库的影响。本篇将首先介绍动态库的基本知识,然后介绍一些程序启动性能优化的具体方法。
“工欲善其事,必先利其器”,好的工具会大大提高程序性能优化的效率。第4篇将介绍3类性能工具,即内存分析工具、性能分析工具和I/O检测工具,它们是性能测量和分析的利器。
本书适用于有一定C++开发经验的开发人员,也可以作为高等院校相关专业师生的参考书。
致 谢
本书是集体创作的结晶,在此感谢大家出色的协作精神。本书的写作也占用了大家大量的休息、娱乐,以及和家人在一起的时间,所以在此感谢作者们家人的理解和支持。同时,在成书的过程中与许多人的关怀、鼓励和支持密不可分,其中包括CDL总裁Josephine,律师Andrew,Director Dennis,资深经理Debbi 和Cindy,研发经理阎小兵和扈晓炜等,在此表示感谢。最后,特别感谢出版社的有关领导、协调人员及编辑,没有他们的支持和参与,本书的出版是不可能的。
由于时间仓促、水平有限,书中难免有许多不妥、甚至错误之处。在此敬请读者不吝指出,我们将愿意与读者共同探讨,并不胜感激。...

序言回到顶部↑

致力于软件业务在中国的长期发展,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月

评论交流

共有6人开贴评论  6人参与评论  6人参与打分 查看

3人
 50%
用户平均打分
我要写评论 help如何参与评论和打分
1人
 16%
1人
 16%
0人
 0%
1人
 16%

wanderpeople

三级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2010-1-3 13:38:00
比较实用,来自开发一线。但说不上经典
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

qqbbjing
一级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2007-12-26 10:28:00
总的来说,收获很大,对于新手来说还是有很多值得学习的东西,但是有一点遗憾的是,很多地方没有深入了,还有,这个价格是在是贩贩贩贩
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

gislab

一级评论员
评价等级:  
发表于:2007-12-17 13:03:00
别的不说,太贵了,不考虑买
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

bestyond
一级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2007-9-18 10:21:00
这本书真的是很不错 读过之后真的是很有收获
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)

jcata

专家级评论员
该会员在china-pub购买过此书
评价等级:  
发表于:2007-3-23 22:50:00
刚算了下,这本书不是7折。
您觉得呢? 送鲜花 (得0支)  扔鸡蛋 (得0个)
我要写评论
查看所有评论交流(共6条)