Appearance
做前端性能优化有感。
当我们对系统的某个部分加速时,其对系统整体性能的影响取决于该部分的重要性和加速程度。若系统执行某应用程序所需时间为Told,假设系统某部分所需执行时间与该时间的比例为a,而该部分性能提升比例为k。即该部分初始所需时间为aTold,现在所需时间为aToldk。因此,现在总的执行时间应为:
由此,可以计算加速比S=Told/Tnew为:
举个例子:系统某个部分初始耗时占比为a=0.6,其加速比k=3,则我们可以获得的加速比为10.4+0.63=1.67倍。虽然我们对系统的一个主要部分做出了重大改进,但是获得的系统级加速比却明显小于这部分的加速比。这就是Amdahl定律的主要观点——要想显著加速整个系统,必须提升全系统中相当大的部分的速度。
《深入理解计算机系统(第三版)》P16 ↩︎