《C++性能优化指南》是一本非常实用的书籍,作者在近30年的编程生涯中选取了最常用且能够带来最大性能提升的技术进行讲解。该书的目标是帮助读者在提升C++程序性能的理解软件优化所蕴含的美感。通过详细介绍各种性能优化技术,读者可以了解到如何优化代码,避免常见的性能陷阱和瓶颈。这本书对于想要提升C++程序性能的开发人员来说是非常宝贵的参考,既能使他们在实际项目中更高效地编写代码,又能让他们对软件优化的原理和思想有更深刻的理解。无论是初学者还是有经验的开发人员都可以从中受益,因为作者以通俗易懂的方式解释了复杂的概念和技术,并提供了实际的示例和练习题供读者练习。本书是一本不可多得的C++代码优化指南,值得推荐给每一个想要提升C++程序性能的开发人员。
C++性能优化指南
读者评价
本书从多个角度讲述了C++的性能优化技巧,套路大概是先复习相关概念,然后指出sample code中可以优化的点。和大多数性能优化书籍一样,看的过程中给人一种“食之无味,弃之可惜”的矛盾心理,一方面确实有一些之前不了解的技巧,另一方面大多数原则在了解语言机制以后都是显而易见的。只有基础库的作者才需要考虑很多细节性的优化技巧,应用层的程序员只需要把瓶颈重写一次,就能解决工作中绝大多数问题了。用不上的技巧过几天肯定就忘掉了。 不过本书出版时间较晚,与标准库结合紧密,若是作为第一本性能优化的书籍,还是非常值得一看的。
程序性能至关重要。本书就是一本C++性能调优实践指南,精选工作中频繁使用和能够带来显著性能提升效果的技术,且包含大量实例介绍,旨在帮助读者学会如何让已经饯行了设计实践原则的C++程序在消耗更少资源的情况下运行得更快。在熟悉代码优化的过程中,读者也会了解卓越代码的编程之道,形成可以提高优化效果的思维模式。
书中所提的多数优化技巧也适用于其他编程语言。
-使用分析器和软件计时器定位性能热点
-学习通过可重复的实验测量修改后的代码的性能
-优化动态分配内存的变量的使用
-改善热点循环和函数的性能
-提高字符串处理函数的速度
-认识高效算法和优化模式
-学习C++容器类的优点和缺点
-站在优化人员的角度审视查找和排序
-高效使用C++流输入输出函数
-高效使用C++的基于线程的并发特性
内容介绍
本书是一本C++代码优化指南。作者精选了他在近30年编程生涯中最频繁使用的技术和能够带来最大性能提升效果的技术,旨在让读者在提升C++程序的同时,思考软件优化之美。书中主要内容有:代码优化的意义和总原则,与优化有关的计算机硬件背景知识,能行分析方法及工具,优化字符串的使用,算法、查找和排序等等。
目录
- 版权声明
- O'Reilly Media, Inc. 介绍
- 献词
- 前言
- 第 1 章 优化概述
- 第 2 章 影响优化的计算机行为
- 第 3 章 测量性能
- 第 4 章 优化字符串的使用:案例研究
- 第 5 章 优化算法
- 第 6 章 优化动态分配内存的变量
- 第 7 章 优化热点语句
- 第 8 章 使用更好的库
- 第 9 章 优化查找和排序
- 第 10 章 优化数据结构
- 第 11 章 优化 I/O
- 第 12 章 优化并发
- 第 13 章 优化内存管理
- 作者介绍
- 封面介绍
C++为常用功能提供了一个简洁的标准库。 *确定哪些依赖于实现的行为,如每种数据类型的最大值和最小值。 *易于使用但是编写和验证都很繁琐的可移植的超越函数(超越函数指的是变量之间的关系不能用有限次加、减、乘、除、乘方、开方运算表示的函数),如正弦函数和余弦函数、对数函数和幂函数、随机数函数等等。 *除了内存分配外,不依赖于操作系统的可移植的通用数据结构、如字符串、链表和表。 *可移植的通用数据查找算法、数据排序算法和数据转换算法。 *以一种独立于操作系统的方式与操作系统的基础服务相联系的执行内存分配、操作线程、管理和维护时间以及流I/O等任务的函数。
C++代码优化策略总结 1、用好的编译器并用好编译器(支持C++11的编译器,IntelC++(速度最快)、GNU的C++编译器GCC/G++(非常符合标准),Visual C++(性能折中),clang(最年轻Mac OS x))。 2、使用更好的算法。 3、使用更好的数据结构(不同的数据结构在使用内存管理器的方式也有所不同)。 4、使用更好的库(熟悉和掌握标准C++模板库对于进行性能优化的开发员是必须的技能,Boost Project 和 Google Code 公开了很多有用的库)。 5、减少内存分配和复制(减少对内存管理器的调用是一种非常有效的优化手段)。 6、优化内存管理(内存管理器的调度,丰富的API)。 7、移除计算(对于单条的C++语句进行优化)。 8、提高并发性(多个处理核心执行指令)。