系列文章导航:《新的职业目标,以及C++性能优化》
《C++应用程序性能优化》主要提供了如下思考角度:
- 语言特性因素
- 架构及设计因素
- 操作系统因素
- 硬件结构性因素
- 编译器因素
- 算法因素
- 库因素(依赖库或基础库)
- 内存分配因素
- 拷贝
- CPU计算因素
- 数据结构因素
- 并发
- 内存管理
各本书籍虽然角度不尽相同,但都是在采用 分类的方法 将较大问题域定性地切分为较小的问题域,然后一类一类地解决,如此能提升性能。能够成为性能瓶颈的点太多太多,能够进行性能优化的手段也太多太多,不可能采用穷举法罗列完全。任何一本将性能优化的书颠过来覆过去无非讲的就是:
1. 语言特性
- 对象的构造和销毁
- 内存的申请和释放
- 内存拷贝
- 计算
2. 结构性因素
- OS,CPU,…
- 硬件访问
- 库
- 编译器
3. 算法和数据结构
4. 并发
5. 架构及设计