CI Bench

Head to head · CI Bench v1

Vitko Runners vs Self-hosted runners on AWS

Vitko Runners (warm starts + test splitting) ran jobs 2.0× faster than Self-hosted runners on AWS (one VM per job) (95% interval 1.9× to 2.2×); Vitko Runners (warm starts + test splitting) cost 59% less per job (at 100,000 jobs a month).

Self-hosted options spread fixed monthly costs over the monthly volume, so their cost per job changes with it; see the volume table.

Speed

× faster than GitHub-hosted (ubuntu-latest) · higher is better
Vitko Runners (warm starts + test splitting)
2.3×
Vitko Runners
1.7×
Self-hosted runners on AWS (one VM per job)
1.2×
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
Self-hosted runners on AWS (one VM per job)
$0.38
GitHub-hosted (ubuntu-latest)
$1.00

Workload by workload

Vitko Runners had the lowest median time of the two on 12 of 12 workloads, Self-hosted runners on AWS on 0.
WorkloadVitko Runners (warm starts + test splitting)Vitko RunnersSelf-hosted runners on AWS (one VM per job)Lowest median
Burst: 20 jobs at once131 s160 s161 sVitko Runners (warm starts + test splitting)
cli140 s272 s357 sVitko Runners (warm starts + test splitting)
codex-lint405 s404 s512 sVitko Runners
container178 s179 s247 sVitko Runners (warm starts + test splitting)
fd45 s49 s114 sVitko Runners (warm starts + test splitting)
flask13 s16 s70 sVitko Runners (warm starts + test splitting)
guava651 s655 s717 sVitko Runners (warm starts + test splitting)
monorepo172 s180 s281 sVitko Runners (warm starts + test splitting)
pydantic69 s105 s154 sVitko Runners (warm starts + test splitting)
ts243 s372 s433 sVitko Runners (warm starts + test splitting)
vite199 s350 s403 sVitko Runners (warm starts + test splitting)
vue32 s63 s117 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 RunnersSelf-hosted runners on AWS (one VM per job)
100,000 jobs a month$0.158$0.157$0.383
10,000 jobs a month$0.158$0.157$0.395
1,000 jobs a month$0.158$0.157$0.508

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%)
Self-hosted runners on AWS (one VM per job)
0 of 360 measured runs (0.0%)

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