Speed
1.2×
faster than GitHub-hosted (ubuntu-latest)
6th of 9 by speed
Cost per job
−88%
vs GitHub-hosted (ubuntu-latest)
at 100,000 jobs a month; 75% lower at 10,000, 43% higher at 1,000
Lowest median time
1 / 12
workloads
container
Failed runs
1 of 360
measured runs
vite 1 of 30. Counted, not replaced.
Speed on each workload
× faster than GitHub-hosted (ubuntu-latest) on the same workloadConfiguration
Self-hosted · 2 vCPU / 8 GB- Measured configuration
- RunsOn (self-hosted on AWS, defaults: spot), 2 vCPU
- Size
- 2 vCPU / 8 GB
- Label or setup
runs-on/runner=2cpu-linux-x64/extras=s3-cache- Price as measured
- all-in: what the jobs use in your cloud account, plus fixed monthly costs spread over the volume ($40.8273 a month); measured per job (cost rules)
- Accelerators used
- Magic Cache: label extras=s3-cache and runs-on/action@v2 before the cache steps (RunsOn docs).
- Notes
- All-in (METHOD.md, Cost): measured per job by selfhosted/runson/cost_runson.py: EC2 seconds at the spot or on-demand price paid, root EBS, public IPv4, S3 cache storage and requests, internet egress (VPC flow logs), usage-driven control plane; plus the stack's fixed monthly cost (always-on worker and its IPv4, secrets, log storage, licence) spread over the reference volume. codex-lint runs on the next memory size (2 vCPU / 16 GiB).
- Definition
- providers/runson2.json
Per workload
Green marks the lowest median time on the workload. The burst row covers all 20 jobs.| Workload | Median time | vs GitHub-hosted (ubuntu-latest) | p95 time | Mean cost | vs GitHub-hosted (ubuntu-latest) | Successful runs | Rank |
|---|---|---|---|---|---|---|---|
| Burst: 20 jobs at once | 177 s | 1.5x faster | 340 s | $0.051 | 90% lower | 30 of 30 | 7th |
| cli | 327 s | 1.1x faster | 334 s | $0.0041 | 90% lower | 30 of 30 | 6th |
| codex-lint | 623 s | 1.4x faster | 662 s | $0.010 | 88% lower | 30 of 30 | 7th |
| container | 174 s | 1.4x faster | 188 s | $0.0060 | 78% lower | 30 of 30 | 1st |
| fd | 89 s | 1.0x faster | 93 s | $0.0018 | 85% lower | 30 of 30 | 7th |
| flask | 38 s | 1.7x slower | 40 s | $0.0014 | 76% lower | 30 of 30 | 8th |
| guava | 897 s | 1.3x faster | 919 s | $0.0096 | 91% lower | 30 of 30 | 7th |
| monorepo | 288 s | 1.3x faster | 313 s | $0.0039 | 90% lower | 30 of 30 | 8th |
| pydantic | 147 s | 1.2x faster | 152 s | $0.0024 | 88% lower | 30 of 30 | 5th |
| ts | 570 s | 1.4x faster | 597 s | $0.0061 | 92% lower | 30 of 30 | 8th |
| vite | 437 s | 1.4x faster | 456 s | $0.0053 | 91% lower | 29 of 30 | 7th |
| vue | 101 s | 1.2x faster | 108 s | $0.0020 | 86% lower | 30 of 30 | 6th |
- Slower than GitHub-hosted (ubuntu-latest)
- flask (1.7x slower)
- Burst queue, p95
- 194 s, against 31 s for GitHub-hosted (ubuntu-latest)
Indexes and 95% intervals
- Time index
- 0.828 (95% interval 0.816 to 0.859)
- Cost index
- 0.121 (0.117 to 0.125) at 100,000 jobs a month