Work out parallel job speedup instantly with clear inputs, formula shown and shareable results.
Splitting work across jobs is bounded by Amdahl's law and by per-job overhead. The unparallelisable fraction sets a floor, and every extra job adds its own setup cost, so wall clock is U-shaped in job count. The optimum is roughly the square root of splittable work divided by per-job overhead, beyond which adding runners makes the pipeline slower.
Parallel wall clock
wall clock = fixed work + splittable / jobs + per-job overhead; optimal jobs ~ sqrt(splittable / overhead)
Each job pays checkout, dependency install and container startup. Once that overhead exceeds the work it removes from the critical path, total time rises.
By recorded historical duration rather than by file count. Alphabetical or count-based splits leave some jobs idle while one runs the slow suite.