About Amdahl's Law
Amdahl's Law, formulated by computer architect Gene Amdahl in 1967, describes the theoretical limit on how much a task can speed up when only part of it is parallelized across multiple processors. It is one of the foundational results in parallel computing: it explains why throwing more processors at a problem produces diminishing returns once the non-parallelizable (serial) portion becomes the bottleneck.
The formula
For a task where a fraction P can be run in parallel (0 ≤ P ≤ 1) and the remaining (1 − P) must run serially, the speedup achieved with N processors is:
- Speedup: S(N) = 1 / ((1 − P) + P/N)
- Efficiency: E(N) = S(N) / N — how much of each processor's theoretical contribution is actually realized
- Maximum speedup: as N → ∞, S(N) → 1 / (1 − P) — the ceiling set purely by the serial fraction
This calculator also converts speedup into a concrete parallel run time: if the task takes T seconds on a single processor, it takes T / S(N) seconds with N processors.
How to read the results
- A small increase in P (the parallelizable fraction) matters far more than adding processors once N is already large — this is the core insight of Amdahl's Law.
- Efficiency near 100% means you are getting close to linear scaling; efficiency well under 50% means additional processors are mostly wasted on this workload.
- The maximum theoretical speedup is a hard ceiling: no number of processors can beat 1 / (1 − P) for a fixed task, because the serial portion always has to run start-to-finish on one processor.