ForHosting KIT · Developer Utilities

Amdahl's Law Speedup Calculator

Amdahl's law estimates the largest theoretical speedup available when part of a program can run in parallel and the remainder must stay serial.

● BetaFree · in your browser
Use it from WebAPIEmailTelegramApp soon

Enter the parallelizable fraction and processor count to see the predicted speedup, processor efficiency, and how much of the accelerated runtime is still consumed by serial work. The calculator also reports the asymptotic ceiling imposed by that serial portion, making it easier to tell whether adding processors is useful or whether optimizing sequential code should come first.

What Amdahl's law measures

Amdahl's law separates a program's original execution time into a parallelizable fraction and a serial fraction. If p is parallelizable and N processors share that work perfectly, the normalized runtime becomes (1 − p) + p/N. The maximum theoretical speedup is the reciprocal of that runtime. This calculator applies that equation directly and assumes ideal scheduling: parallel work divides evenly, processors add no communication overhead, and the serial portion cannot be accelerated by adding workers. Those assumptions make the result an upper bound, not a benchmark prediction. If the calculated speedup is 8, a real implementation may achieve less because synchronization, memory contention, task startup, load imbalance, and data transfer all consume time. The upper bound is still valuable because it identifies whether an observed result is plausible and shows how much room remains for engineering improvements. Enter the parallel fraction as a decimal, so 95 percent becomes 0.95, and enter the total number of processors available to the parallel region.

Read the bottleneck and scaling limit

The serial fraction is one minus the parallel fraction, and it controls the long-run ceiling. With 95 percent parallel work, 5 percent remains serial, so even an unlimited processor count cannot exceed a 20-times speedup. The asymptotic speedup field states that ceiling whenever a serial portion exists. The serial bottleneck share answers a related but different question: at the selected processor count, what fraction of the new, shorter runtime is spent in serial execution? This share often grows dramatically as processors are added. A serial section that represented only 5 percent of the original runtime can dominate the optimized runtime after the parallel section has been divided among many processors. Parallel efficiency is the calculated speedup divided by processor count. Falling efficiency shows that each added processor contributes less incremental benefit. Together, these outputs expose the characteristic diminishing returns of strong scaling and help distinguish a processor shortage from a fundamentally serial constraint. A fully parallel input reports an unbounded ideal scaling limit because the simplified equation has no serial ceiling.

Use the result in performance planning

Start with a measured profile from a representative workload rather than an optimistic estimate. Classify time as parallelizable only when the production design can actually execute it concurrently. Then calculate several processor counts and compare the extra speedup with the additional infrastructure cost. If doubling processors barely changes the result, the serial fraction is already setting the practical direction: optimize the sequential path, change the algorithm, reduce coordination, or increase the amount of independent work per run. The calculation is especially useful before a migration to more cores, workers, GPUs, or distributed nodes because it prevents capacity planning from assuming linear scaling. It can also provide a compact baseline for regression reports: compare measured speedup with the theoretical maximum and investigate the gap. Remember that Amdahl's law describes fixed-size workloads. If the workload grows with available resources, a scaled-speedup model such as Gustafson's law may answer a different planning question. Use this result as a transparent ceiling, then validate the actual system with profiling and load tests.

Plan a multicore optimization

Estimate the best possible gain from a proposed processor count before investing engineering time in parallelizing a fixed workload.

Explain diminishing returns

Show why adding workers produces progressively smaller gains when a database call, coordinator, or other serial stage remains unchanged.

Compare theory with benchmarks

Use the theoretical ceiling as a baseline for measured speedup and investigate scheduling, communication, or contention overhead in the remaining gap.

What does the parallel fraction mean?

It is the share of the original execution time that can be divided across processors. Enter it as a decimal between 0 and 1.

Why is the result called a maximum theoretical speedup?

The equation assumes perfect division of parallel work and no communication, synchronization, startup, contention, or scheduling overhead. Real speedup is normally lower.

What is the asymptotic speedup?

It is the speedup ceiling as the processor count approaches infinity. For a nonzero serial fraction s, the ceiling is 1/s.

What does serial bottleneck share show?

It shows the fraction of the accelerated runtime occupied by serial work at the selected processor count, revealing when sequential execution has become dominant.

Does one processor always return a speedup of one?

Yes. Under Amdahl's ideal model, one processor runs both portions in the original normalized time, so speedup and efficiency are both one.

How much does the API calculation cost?

Each API request costs $0.002. The same deterministic calculation is available in the browser interface.

Everything on this page is available programmatically. This section is for teams who want to wire it into their own systems; everyone else can just use the tool above.

POSThttps://api.kit.forhosting.com/dev/amdahl

Prefer to automate it? One authenticated POST creates the task; the result comes back by webhook or a signed link. The same capability also runs here on the web, by email and from Telegram — and soon from our app too.

curl -X POST https://api.kit.forhosting.com/dev/amdahl \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"parallel_fraction":0.95,"processors":16}'
{
  "parallel_fraction": 0.95,
  "processors": 16
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev.amdahl",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

The API is asynchronous: the call returns a task_id immediately and the result arrives by webhook. Polling is capped at 1 req/s per task.

Per request$0.002

Published price — no tokens, no invented credits. A failed task is never charged.

HTTPCodeMeaning
401unauthorizedMissing or invalid API key.
402insufficient_balanceYour balance doesn't cover the task price.
404unknown_typeThat task type doesn't exist.
429rate_limitedToo many requests. Use the webhook instead of polling.

Read the full KIT documentation →