26 Sunday Apr 2026
A typical pipeline looks a little like this

but waiting is hard and you want to parallelize the job into smaller steps.
It will probably look like this

When is it worth switching to a parallel pipeline?
Algebraically we would write this as follows:

where
- b is the full build time
- b’ is the incremental build time
- wc is the time to write the cache
- wr is the time to read the cache
- ti is the time it takes to run test phase i
Then given tm is the test phase that takes longest.

Simple elimination yields

When visualizing this, we can see this

Which equates to, the sum of the overhead costs must be less than the sum of all remaining task times.


























