liveBook · Manning

Speedup

As explained in Learn Concurrent Programming with Go

Speedup is the ratio of a computation's execution time in a baseline configuration to its execution time in an improved or parallel configuration.

Speedup compares execution with a baseline against execution after improvement or parallelization. It shows how much faster a computation becomes, not merely how many processors it uses. section 1.6.1

Use speedup to reason about the limits and opportunities of parallel execution:

  • Amdahl’s law limits speedup for a fixed-size problem: sequential work remains a bottleneck as processors increase. section 1.6.1
  • A mostly parallel task can still reach a hard limit; a construction task with 95% parallel work achieves only about 19× speedup with 512 builders. section 1.6.1
  • Gustafson’s law considers growing problem sizes: keeping additional resources busy can make speedup increase with available parallel resources. section 1.6.2

A game with more processors

Adding processors to a graphics-rich game can raise frame rate until the fixed workload reaches its speedup limit. Designers can then use extra processing capacity for greater detail or resolution instead. section 1.6.2

Figure 1.6 The speedup against the number of processors according to Amdahl’s law

Compare theoretical speedup with processor count and observe how sequential work produces a scalability ceiling. section 1.6.1

Figure 1.7 The speedup against the number of processors according to Gustafson’s law

Compare speedup as problem size grows and additional parallel resources remain useful. section 1.6.2

How Learn Concurrent Programming with Go covers it

How deep it goes
Explains speedup through Amdahl’s and Gustafson’s laws, examples, and figures, but stops short of deriving their formulas.
Examples
Illustrates speedup with house construction, builders, narrow-road transport, and a computer game’s frame rate and graphics.
What it assumes
Assumes basic awareness of computation and processors while teaching parallel and sequential work through practical scenarios.
What you can do after
Evaluate/understand why adding processors eventually produces diminishing returns or supports larger workloads.
How it connects
Connects speedup to concurrency, parallelism, sequential execution, processors, Amdahl’s law, and Gustafson’s law.

Also explained in

Compare how 2 books explain speedup →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Learn Concurrent Programming with Go. The section links point to the parts of the book it draws on.