TL;DR
システムの一部を最適化して得られる全体の性能向上は、改善した部分が実際に使われる時間の割合によって制限される、という法則。1967 年に Gene Amdahl が提唱した。
仕組み
言い換えると、プロセッサを増やしても逐次処理の部分は速くならないので、プログラムの中で逐次処理の部分が多いほど、並列化するメリットは小さくなる。
改善が効く部分が実行時間に占める割合を 、その部分の速度向上率を とすると、全体の速度向上率 は次の式で表される。
をいくら大きくしても、 は を超えない。
例
処理の 95% を並列化できるとき、プロセッサをいくら増やしても、速度向上は最大で 倍にとどまる。
注意点
この法則は、後にグスタフソンの法則によって再評価され、欠点を修正された。