CI Bench

Head to head · CI Bench v1

RunsOn vs Self-hosted runners on AWS

RunsOn ran jobs 1.1× faster than Self-hosted runners on AWS (one VM per job) (95% interval 1.0× to 1.1×); RunsOn cost 68% 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
RunsOn
1.2×
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
RunsOn
$0.12
Self-hosted runners on AWS (one VM per job)
$0.38
GitHub-hosted (ubuntu-latest)
$1.00

Workload by workload

RunsOn had the lowest median time of the two on 6 of 12 workloads, Self-hosted runners on AWS on 6.
WorkloadRunsOnSelf-hosted runners on AWS (one VM per job)Lowest median
Burst: 20 jobs at once177 s161 sSelf-hosted runners on AWS (one VM per job)
cli327 s357 sRunsOn
codex-lint623 s512 sSelf-hosted runners on AWS (one VM per job)
container174 s247 sRunsOn
fd89 s114 sRunsOn
flask38 s70 sRunsOn
guava897 s717 sSelf-hosted runners on AWS (one VM per job)
monorepo288 s281 sSelf-hosted runners on AWS (one VM per job)
pydantic147 s154 sRunsOn
ts570 s433 sSelf-hosted runners on AWS (one VM per job)
vite437 s403 sSelf-hosted runners on AWS (one VM per job)
vue101 s117 sRunsOn

Cost by volume

Mean cost per job in USD, from the benchmark’s sensitivity results
VolumeRunsOnSelf-hosted runners on AWS (one VM per job)
100,000 jobs a month$0.121$0.383
10,000 jobs a month$0.250$0.395
1,000 jobs a month$1.431$0.508

Failed runs

Counted, never replaced
RunsOn
1 of 360 measured runs (0.3%)
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