IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    

developerWorks 中国  >  图书频道  >

developerWorks 图书频道: C++ 应用程序性能优化

developerWorks
前言目录
封面

  本书主要针对的是 C++ 程序的性能优化,深入介绍 C++ 程序性能优化的方法和实例。

  全书由 4 篇组成,第 1 篇介绍 C++ 语言的对象模型,该篇是优化 C++ 程序的基础;第 2 篇主要针对如何优化 C++ 程序的内存使用;第 3 篇介绍如何优化程序的启动性能;第 4 篇介绍了三类性能优化工具,即内存分析工具、性能分析工具和 I/O 检测工具,它们是测量程序性能的利器。

  本书适用于有一定 C++ 程序开发经验的开发人员,也可以作为高校相关专业师生的参考书。

阅读本书的目录及样章 | 更多图书 >


前言

  在计算机发展的早期阶段,硬件资源相对而言是非常昂贵的。不论是 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,研发经理阎小兵和扈晓炜等,在此表示感谢。最后,特别感谢出版社的有关领导、协调人员及编辑,没有他们的支持和参与,本书的出版是不可能的。 由于时间仓促、水平有限,书中难免有许多不妥、甚至错误之处。在此敬请读者不吝指出,我们将愿意与读者共同探讨,并不胜感激。

阅读本图书的目录及样章 >



回页首



网上书店
中国互动出版网 dearbook


回页首


文档选项

未显示需要 JavaScript 的文档选项


  热点链接
订阅更多 dW RSS
dW 多媒体课堂最新更新
dW 图书频道
IBM 软件产品演示
认证考试资源中心
dW 每月特别推荐
dW 中国最受欢迎的文章和教程

  更多图书
西游记、设计模式与 IBM WebSphere Portal 应用开发
构建高性能 WebSphere 企业级应用
基于 Eclipse RCP 的复合应用开发
全球化软件开发最佳实践
DB2 V9/9.5 高级应用开发
IBM Rational Software Architect 建模
SOA 核心技术及应用
SOA 原理·方法·实践

  特别推荐
Eclipse 项目资源中心
developerWorks 图书频道
DB2 9 数据服务器,疾速体验 pureXML


    关于 IBM 隐私条约 联系 IBM 使用条款