Advertisement

Amdahl's law calculator

Estimate whole-program speedup when one or several independent portions run faster, and compare runtime with the theoretical optimisation limit.

Calculator

Overall speedup
2.500000
Improved runtime
40
Runtime reduction
60.000000%
Maximum possible speedup
5.000000000000001

Advertisement

How this calculator works

Partition the original runtime into disjoint portions. Each improved portion contributes its original fraction divided by its own speedup. The remaining serial portion is unchanged. This is a fixed-workload model; synchronisation, memory contention and communication overhead must be included in the measured factors.

Formula

S = 1 / [1 - sum(pi) + sum(pi/si)]; improved time = original time / S; Smax = 1/[1 - sum(pi)].

Worked example

If 80% of a 100-second task becomes four times faster, the new runtime is 20 + 80/4 = 40 seconds and the overall speedup is 2.5. The unlimited-speed limit is 5.

Advertisement

Frequently asked questions

Can I enter a slowdown?

Yes. A positive factor below 1 models an improved portion that actually takes longer.

What does a fraction refer to?

Use the share of the original runtime, not the share of code lines.

Why does adding processors stop helping?

The serial part remains. When 20% cannot improve, overall speedup cannot exceed 5 for the same work.

Sources

Advertisement