Gene Amdahl,计算领域的早期先锋之一,对提升系统某一部分性能所带来的效果做出了简单却有见地的观察。这个观察被称为Amdahl定律(Amdahl’s law)。
该定律的主要思想是,
当我们对系统的某个部分加速时,其对系统整体性能的影响取决于该部分的重要性和加速程度。
若系统执行某应用程序需要时间为Told。假设系统某部分所需执行时间与该时间的比例为a,而该部分性能提升比例为k。即该部分初始所需时间为aTold,现在所需时间为(aTold)/k。因此,总的执行时间应为
Tnew = (1-a)Told + (aTold)/k = Told[(1-a) +a/k]
举个例子,考虑这样- -种情况,系统的某个部分初始耗时比例为60%(a=0. 6),其加速比例因子为3(k=3)。则我们可以获得的加速比为1/[0.4+0. 6/3]=1.67倍。
虽然我们对系统的一个主要部分做出了重大改进,但是获得的系统加速比却明显小于这部分的加速比。
这就是Amdahl定律的主要观点—要想显著加速整个系统,必须提升全系统中相当大的部分的速度。
表示相对性能
性能提升最好的表示方法就是用比例的形式Told/Tnew,其中,Told为原始系统所需时间,Tnew为修改后的系统所需时间。
如果有所改进,