Why won't it go N times faster?

Throwing workers at a problem hits a wall. Amdahl's Law says the serial part you can't parallelise caps the speedup, however many you add — 95% parallel work tops out at 20×, full stop. The Universal Scalability LawNeil Gunther's model: speedup = N / (1 + σ(N−1) + κN(N−1)). σ is contention, κ is the coherency cost every pair of workers pays to stay in sync. goes further: add the cost of workers coordinating and the curve doesn't just flatten — it peaks and turns back down, so past some point more workers make it slower.

% of the work isparallelThe share of the work that can run on many workers at once. The rest is serial — it runs start to finish no matter how many workers you have., spread acrossworkers.
21×
120406016 workers64
perfect scalingAmdahl
9.1×speedup

On 16 workers the job runs 9.1× faster — but that's only 57% of the 16× you paid for.

20×ceilingThe hard speedup limit, 1/(1−p): even infinitely many workers can't beat it, because the serial part still has to run.
57%efficiencySpeedup divided by workers — the fraction of a perfect ×N you actually get. 100% is ideal; it only ever falls as you scale.
46%of the ceiling
With 95% of the work parallel, no number of workers ever beats 20× — the serial 5% sets the ceiling. At 16 you're at 9.1×, and each worker now buys far less than the last.
WorkersSpeedupEfficiency
1
100%
2
1.9×
95%
4
3.5×
87%
8
5.9×
74%
16you
9.1×
57%
32
13×
39%
64
15×
24%

Read down the speedup column: each doubling of workers adds less than the one before, and efficiency — the speed you actually get per worker — slides the whole way down. Amdahl's curve only ever flattens toward its ceiling; switch to the USL to see coordination push it back down.