1.预计算
可以在程序早期,例如设计时、编译时或是链接时,通过在热点代码前执行计算来将计算从热点部分中移除。
2.延迟计算
通过在真正需要执行计算时才执行计算,可以将计算从某些代码路径上移除。
3.批量处理
每次对多个元素一起进行计算,而不是一次只对一个元素进行计算。
4.缓存
通过保存和复用昂贵计算的结果来减少计算量,而不是重复进行计算。
5.特化
通过移除未使用的共性来减少计算量。
6.提高处理量
通过一次处理一大组数据来减少循环处理的开销。
7.提示
通过在代码中加入可能会改善性能的提示来减少计算量。
8.优化期待路径
以期待频率从高到低的顺序对输入数据或是运行时发生的事件进行测试。
9.散列法
计算可变长度字符串等大型数据结构的压缩数值映射(散列值)。在进行比较时,用散列值代替数据结构可以提高性能。
10.双重检查
通过先进行一项开销不大的检查,然后只在必要时才进行另外一项开销昂贵的检查来减少计算量。