CI Bench

Head to head · CI Bench v1

Vitko Runners vs GitHub-hosted larger runner (4 vCPU)

Vitko Runners (warm starts + test splitting) ran jobs 1.5× faster than GitHub-hosted larger runner (4 vCPU) (95% interval 1.4× to 1.5×); Vitko Runners (warm starts + test splitting) cost 89% less per job (at 100,000 jobs a month).

Speed

× faster than GitHub-hosted (ubuntu-latest) · higher is better
Vitko Runners (warm starts + test splitting)
2.3×
Vitko Runners
1.7×
GitHub-hosted larger runner (4 vCPU)
1.6×
GitHub-hosted (ubuntu-latest)
1.0×

Cost per job

USD per $1.00 spent on GitHub-hosted (ubuntu-latest), at 100,000 jobs a month · lower is better
Vitko Runners (warm starts + test splitting)
$0.16
Vitko Runners
$0.16
GitHub-hosted larger runner (4 vCPU)
$1.39
GitHub-hosted (ubuntu-latest)
$1.00

Workload by workload

Vitko Runners had the lowest median time of the two on 12 of 12 workloads, GitHub-hosted larger runner (4 vCPU) on 0.
WorkloadVitko Runners (warm starts + test splitting)Vitko RunnersGitHub-hosted larger runner (4 vCPU)Lowest median
Burst: 20 jobs at once131 s160 s154 sVitko Runners (warm starts + test splitting)
cli140 s272 s192 sVitko Runners (warm starts + test splitting)
codex-lint405 s404 s476 sVitko Runners
container178 s179 s185 sVitko Runners (warm starts + test splitting)
fd45 s49 s66 sVitko Runners (warm starts + test splitting)
flask13 s16 s21 sVitko Runners (warm starts + test splitting)
guava651 s655 s946 sVitko Runners (warm starts + test splitting)
monorepo172 s180 s220 sVitko Runners (warm starts + test splitting)
pydantic69 s105 s154 sVitko Runners (warm starts + test splitting)
ts243 s372 s435 sVitko Runners (warm starts + test splitting)
vite199 s350 s288 sVitko Runners (warm starts + test splitting)
vue32 s63 s67 sVitko Runners (warm starts + test splitting)

Cost by volume

Mean cost per job in USD, from the benchmark’s sensitivity results
VolumeVitko Runners (warm starts + test splitting)Vitko RunnersGitHub-hosted larger runner (4 vCPU)
100,000 jobs a month$0.158$0.157$1.387
10,000 jobs a month$0.158$0.157$1.387
1,000 jobs a month$0.158$0.157$1.387

Failed runs

Counted, never replaced
Vitko Runners (warm starts + test splitting)
3 of 360 measured runs (0.8%)
Vitko Runners
0 of 360 measured runs (0.0%)
GitHub-hosted larger runner (4 vCPU)
3 of 360 measured runs (0.8%)

Each configuration page lists where its failures happened. All losses.

All results for this pair

One line per configuration pairing, generated from the benchmark data