concept

Amdahl's Law

The limit on speedup from optimising or parallelising part of a system, set by the proportion of work that remains unchanged.

If a component accounts for a fraction P of total time and is made infinitely fast, the maximum overall speedup is 1/(1−P).

The numbers discipline the work. Optimising something that takes 5% of the time yields at most a 5% improvement, no matter how brilliant the optimisation. Halving something that takes 80% of the time gives a 1.67× speedup — nearly always the better investment.

Applied to parallelism, the serial fraction is the ceiling: with 10% of the work inherently sequential, no number of cores exceeds a 10× speedup, and the returns beyond a modest core count are small.

Two consequences for how performance work should be run:

Measure before optimising, because intuition about where time goes is unreliable and the law makes the cost of being wrong explicit.

Expect the bottleneck to move. Once the dominant component is reduced, a previously insignificant one becomes the new limit, and the next round has a different target. Performance work is iterative by nature, and a plan that promises one fix and a fixed percentage improvement misunderstands the shape of the problem.