CI Bench

Head to head · CI Bench v1

Ubicloud vs Self-hosted runners on Google Cloud

Self-hosted runners on Google Cloud ran jobs 1.3× faster than Ubicloud (95% interval 1.3× to 1.4×); Ubicloud cost 58% 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
Ubicloud
1.1×
Self-hosted runners on Google Cloud
1.5×
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
Ubicloud
$0.17
Self-hosted runners on Google Cloud
$0.41
GitHub-hosted (ubuntu-latest)
$1.00

Workload by workload

Ubicloud had the lowest median time of the two on 1 of 12 workloads, Self-hosted runners on Google Cloud on 11.
WorkloadUbicloudSelf-hosted runners on Google CloudLowest median
Burst: 20 jobs at once203 s153 sSelf-hosted runners on Google Cloud
cli359 s310 sSelf-hosted runners on Google Cloud
codex-lint682 s581 sSelf-hosted runners on Google Cloud
container213 s178 sSelf-hosted runners on Google Cloud
fd87 s64 sSelf-hosted runners on Google Cloud
flask36 s11 sSelf-hosted runners on Google Cloud
guava881 s820 sSelf-hosted runners on Google Cloud
monorepo276 s278 sUbicloud
pydantic159 s119 sSelf-hosted runners on Google Cloud
ts560 s533 sSelf-hosted runners on Google Cloud
vite502 s401 sSelf-hosted runners on Google Cloud
vue114 s76 sSelf-hosted runners on Google Cloud

Cost by volume

Mean cost per job in USD, from the benchmark’s sensitivity results
VolumeUbicloudSelf-hosted runners on Google Cloud
100,000 jobs a month$0.173$0.409
10,000 jobs a month$0.173$0.409
1,000 jobs a month$0.173$0.409

Failed runs

Counted, never replaced
Ubicloud
1 of 360 measured runs (0.3%)
Self-hosted runners on Google Cloud
1 of 360 measured runs (0.3%)

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