4 . 阿姆达尔定律
阿姆达尔定律是由计算机工程先锋基恩 • 阿姆达尔(Gene Amdahl)提出并用他的名字命名
的,它定义了优化一部分代码对整体性能有多大改善。阿姆达尔定律有多种表达方式,不
过就优化而言,可以表示为下面的等式:
(1 )
S(t)= 1/(1-P)+P/S(p)
其中 S(t) 是因优化而导致程序整体性能提升的比率,P 是被优化部分的运行时间占原来程序
整体运行时间的比例,S(p) 是被优化部分 P 的性能改善的比率。
例如,假设一个程序的运行时间是 100 秒。通过分析前面发现程序花费了 80
秒多次调用函数 f。现在假设修改 f 使其运行速度提升了 30%,那么这对程序整体运行时
间有多大改善呢?