Amdahl’s Law 公式化描述了系统中某个部分性能提升对整个系统性能提升的影响程度,为系统性能优化提供了基本指导原则,公式如下:
设某个系统执行某个操作的时间为
系统中执行这个操作的一部分占百分比为
这部分性能提升后,速度因子为k,即这部分操作快了k倍,原来需要的时间为,现在需要的时间为
从而得到
整理得到
这就是某个部分性能提升对整个系统性能提升的影响程度,例如,某部分占比60%,性能提升3倍,那么整个系统性能提升为1.67倍。
这个公式同样可以用于判断并发对系统性能的影响,这里k的含义从某个部分提升的速度,变成可以并发的节点数量,同样是上面的例子,系统中可以并发的部分占比60%,扩展为3节点并发,那么整个系统的性能提升为1.67倍。值得一提的是,如果k值为无限大,那么系统的性能提升瓶颈在于这个部分,也就是程序中必须串行处理无法并发的部分,这也是系统性能所能达到的极限。