阿姆达尔定律(Amdahl’s Law),它描述了在对系统的某个部分进行加速时,该部分对整体系统性能的影响,取决于该部分的重要性和加速程度。
原书给的例子不太好懂,下面是一个更好懂的例子。
例子:汽车加速性能
假设你有一辆汽车,你想要研究加速性能对整体驾驶时间的影响。
初始驾驶时间:Told = 100 秒(假设初始驾驶需要100秒)。
A部分重要性比例:a = 0.2(假设这个部分的重要性在整体性能中占20%)。
A部分性能提升比例:K = 2(假设这个部分的性能提升了2倍)。
根据定律,我们可以计算新的驾驶时间:
Tnew = (1 - a) * Told + (a * Told) / K
备注:
- (1 - a) * Told 指的是:除了A部分之外的其他部分,占用的时间
- (a * Told) 指的是:A部分提升前占用的时间
- (a * Told) / K 指的是:A部分提升后占用的时间
将具体的数据代入:
Tnew = (1 - 0.2) * 100 + (0.2 * 100) / 2
Tnew = 80 + 10
Tnew = 90 秒
在这个例子中,通过提升汽车的某个关键部分的性能(假设是发动机性能),使得该部分的执行时间从初始的20%减少到了10%(通过除以K)。因此,总的驾驶时间从初始的100秒减少到了90秒,这是因为虽然只有部分被加速,但由于它在整体性能中的重要性,其改进对整体性能的影响仍然是显著的。