天天看点

性能优化的好不好,阿姆达尔定律说了算

学习和工作中,想必都遇到过关于一个优化点好不好、值不值得的争论,那么有没有一个东西能对性能优化的怎么样提供一个评价标准呢?答案是有的,那就是阿姆达尔定律。

阿姆达尔定律(英语:Amdahl's law,Amdahl's argument),一个计算机科学界的经验法则,因吉恩·阿姆达尔(Gene Amdahl)而得名。它代表了处理器经过并行运算之后效率提升的能力。

虽然阿姆达尔定律最初是用于并行运算性能优化的,但它实际可以用于所有性能优化的领域。

广义的阿姆达尔定律就是“提升一个系统的某个部分的性能对整个系统的性能提升有多少”。

假设某个程序执行需要的时间为 

性能优化的好不好,阿姆达尔定律说了算

某一个部分占总执行时间的百分比为 a 。

然后,把这一部分的性能提升 k 倍。

那么整个系统优化后提升的性能倍数 s 为

性能优化的好不好,阿姆达尔定律说了算

​​​​​​​

其实,总结出来就一句话,如果某个部分执行时间占总执行时间的比例非常低,那么你就是将这部分性能优化十倍,也只是优化了个寂寞。

继续阅读