Build Duration Calculator
Estimate total CI build duration from stage times, parallelism and queue delay.
About Build Duration Calculator
A typical Jenkins build pipeline runs checkout, compile, test, package, and deploy stages back-to-back, but the test stage is the one most commonly parallelized across multiple executors. Total duration is the sum of every stage's time, with the test stage's contribution reduced by dividing its sequential time by the parallelism factor — making it the highest-leverage stage to optimize when a build is too slow.
Formula
totalDuration = checkout + compile + (testTime / parallelism) + package + deploy
- t_c
- Checkout time in seconds
- t_b
- Compile time in seconds
- t_t
- Sequential test time in seconds
- P
- Test parallelism factor
- t_p
- Package time in seconds
- t_d
- Deploy time in seconds
- T
- Total build duration in seconds
Worked example
With the default values below, Build Duration Calculator returns Total Build Duration of 225.0. Change any input above and every figure here is recalculated in your browser.
Inputs used
- Checkout Timeaccepts 0–7,200 sec
- 15 sec
- Compile Timeaccepts 0–14,400 sec
- 90 sec
- Test Time (Sequential)accepts 0–14,400 sec
- 180 sec
- Package Timeaccepts 0–7,200 sec
- 30 sec
- Deploy Timeaccepts 0–7,200 sec
- 45 sec
- Test Parallelismaccepts 1–128 threads
- 4 threads
Results
- Total Build Duration
- 225.0 sec
- Total Build Duration
- 3.75 min
- Time Saved by Test Parallelism
- 135.0 sec
Step by step
- 1Effective test time = sequential ÷ parallelism= 45.0s
- 2Total = checkout + compile + test + package + deploy= 225.0s
Assumptions and limits
- The result is derived only from the 6 inputs listed above. Anything not among them is not part of the calculation.
- In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
- Figures are rounded for display to 2 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.
How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.
Frequently Asked Questions
Why is only the test stage parallelized in this model?
Test suites are the most naturally parallelizable stage (independent test classes/files can run concurrently across executors), while checkout, compile, package, and deploy are typically single-threaded or already internally optimized (e.g. incremental compilation) rather than split across build agents.
What's a realistic test parallelism factor?
It's bounded by both available executors and how well the test suite splits — 4–8x speedup is common with balanced test splitting, though diminishing returns and coordination overhead usually prevent linear scaling much beyond that.
How do I reduce compile time separately?
Use incremental/cached builds (e.g. Gradle build cache, ccache for native code), warm dependency caches on the agent, and avoid clean builds unless necessary.
