学习和工作中,想必都遇到过关于一个优化点好不好、值不值得的争论,那么有没有一个东西能对性能优化的怎么样提供一个评价标准呢?答案是有的,那就是阿姆达尔定律。
阿姆达尔定律(英语:Amdahl's law,Amdahl's argument),一个计算机科学界的经验法则,因吉恩·阿姆达尔(Gene Amdahl)而得名。它代表了处理器经过并行运算之后效率提升的能力。
虽然阿姆达尔定律最初是用于并行运算性能优化的,但它实际可以用于所有性能优化的领域。
广义的阿姆达尔定律就是“提升一个系统的某个部分的性能对整个系统的性能提升有多少”。
假设某个程序执行需要的时间为
某一个部分占总执行时间的百分比为 a 。
然后,把这一部分的性能提升 k 倍。
那么整个系统优化后提升的性能倍数 s 为
其实,总结出来就一句话,如果某个部分执行时间占总执行时间的比例非常低,那么你就是将这部分性能优化十倍,也只是优化了个寂寞。