Amdahl's law calculator

Enter the share of the work that can run in parallel and the number of processors or threads. The calculator gives the speedup by Amdahl's law, the efficiency per processor, the ceiling no number of processors can pass and how many you need for a target speedup. Switch to Gustafson's law for a workload that grows with the machine.

Law
%
Speedup4.706 ×
Efficiency per processor
58.82 %
Run time, share of the original
21.25 %
Maximum speedup (infinite processors)
10 ×
Processors for the target speedup
6

Runs in your browser: nothing you enter is sent anywhere.

How to use it

  1. Choose Amdahl for a fixed job you want to finish faster, or Gustafson for a job that grows with the number of processors.
  2. Enter the parallel part of the work in percent and the number of processors.
  3. With Amdahl’s law you can add a target speedup to see how many processors it takes, or whether it is out of reach.

Formulas

  • Amdahl: S = 1 ÷ ((1 − p) + p ÷ N); run time = (1 − p) + p ÷ N of the original; limit = 1 ÷ (1 − p).
  • Processors for a speedup s: N = p ÷ (1/s − (1 − p)), rounded up; impossible when s ≥ 1 ÷ (1 − p).
  • Gustafson: S = (1 − p) + p × N.
  • Efficiency = S ÷ N.

Worked example

A program that is 90 % parallel on 8 processors:

  • S = 1 ÷ (0.1 + 0.9 ÷ 8) = 1 ÷ 0.2125 = 4.706 ×;
  • run time 21.25 % of the original, efficiency 4.706 ÷ 8 = 58.82 %;
  • maximum speedup 1 ÷ 0.1 = 10 ×;
  • for a speedup of 4 you need 0.9 ÷ (0.25 − 0.1) = 6 processors.

Under Gustafson’s law the same 90 % on 8 processors gives 0.1 + 0.9 × 8 = 7.3 ×.

Tips

  • Shrink the serial part first. Going from 90 % to 95 % parallel doubles the ceiling from 10 × to 20 ×, more than any number of extra cores.
  • Efficiency drops as N grows. Past a point extra processors add little; the efficiency row shows when.
  • Hyper-threads are not full processors: count physical cores for compute-bound work.

Frequently asked questions

What is Amdahl's law?

The speedup of a fixed job when its parallel part p runs on N processors and the rest stays serial, S = 1 ÷ ((1 − p) + p/N). The serial part sets a hard limit of 1 ÷ (1 − p), so a job that is 90 % parallel never runs more than 10 times faster.

How is Gustafson's law different?

Gustafson assumes the job grows with the machine so the run time stays the same, and asks how much more work gets done, S = (1 − p) + p × N. It answers a different question and gives a larger number; neither law is wrong.

How do I find the parallel fraction of my program?

Profile it. Time the serial run, and the parts that can be spread over threads; p is the parallel time divided by the total. You can also measure the speedup on N cores and solve Amdahl's law for p.

Why is my real speedup lower than the calculator says?

The law ignores the cost of starting threads, sharing data, locks, memory bandwidth and uneven work. It is an upper bound for a given p, not a forecast.

More in Developer

All tools in this category: Developer ·Updated November 6, 2026

Privacy choices

Google Analytics shows us which tools are used and whether they work. It may set cookies. Your choice is kept in this browser.