..
编程珠玑: 程序性能分析
设计层面
为了提高系统性能,可以在多个层面进行设计。
问题定义
良好的问题定义可以避免对问题需求的过高估计。问题定义与程序效率之间具有复杂的相互影响。
系统结构
将大型系统分解成多个模块
算法和数据结构
对于模块性能提升的关键是表示数据的结构和操作这些数据的算法
代码调优
与系统无关的代码调优
系统软件
改变系统所基于的软件;同时考虑与系统相关的代码调优
硬件
更快的硬件可以提高系统的性能
原理
当性能问题无法回避时,对于不同的性能目标可以从不同的设计层面进行考虑。
-
如果仅需要较小的性能提升,就对效果最佳的层面进行改进。
首先考虑所有可能的设计层面,然后选择“性价比”最高的那个:较小投入可以获得较大的加速系数。
-
如果需要较大的性能提升,需要对多个层面进行改进。
需要从各个不同方向对问题进行深入研究。