Fastest GitHub Actions Runners: CPU Speed
GitHub Actions runners comparison across CPU speed, queue time, and pricing. Benchmarks x64 and arm64 runners, including self-hosted options like RunsOn and AWS CodeBuild plus third-party providers.
This guide compares Linux GitHub Actions runner CPU performance, queue times, and pricing across official GitHub runners, self-hosted solutions, and third-party providers. Real-world benchmarks show how each option performs to help select the optimal runner.
TL;DR
Best value
RunsOn, Namespace, Shipfox, Cirrus, and Blacksmith score highly in this benchmark. Each one having specific strengths and weaknesses depending on your use cases.
Best self-hosted
RunsOn is the cheapest self-hosted option and the fastest in this dataset among self-hosted runners. AWS CodeBuild is slower and more expensive.
Fastest CPU
x64: Shipfox, Namespace, Blacksmith, and RunsOn lead the pack. arm64: Cirrus and Namespace lead, followed by RunsOn, Shipfox, and Warpbuild.
Lowest queue
GitHub is lowest at ~8s (x64) and ~6s (arm64). Warpbuild and Namespace are close behind on x64.
How to read: leaderboard and deep dive use the configured CPU/queue percentiles (p50/p50). Higher CPU is better, lower queue is better. Price is normalized $/min.
Providers included
Note: I'd love to benchmark Depot (hosted on AWS), but they forbid benchmarking their platform.
Leaderboard
Last updated:
Benchmarks use Linux runners only, the Passmark single-thread metric, and the last 30 days of data.
Settings
How scoring works
baseScore = (w_speed × speedScore + w_cost × costScore) / (w_speed + w_cost)speedScore = (cpu - cpuLow) / (cpuHigh - cpuLow), costScore = (priceHigh - price) / (priceHigh - priceLow) (both clamped 0-1)
queueAdj% = -min(15, max(0, queue - queueMin) × 0.5)
finalScore = baseScore × (1 + queueAdj% / 100)
| # | Provider | CPU p50 | Queue p50 | Price / min | Value score |
|---|---|---|---|---|---|
| 1 | RunsOnSelf-Hostedspot ✨ runs-on,family=m8azn AWS | 4270 | 27.0s | $0.0015/min | 82 |
| 2 | CirrusSaaS ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-xs Hetzner per runner monthly | 4042 | 21.0s | $0.0010/min | 82 |
| 3 | BlacksmithSaaS blacksmith-2vcpu-ubuntu-2404 Hetzner | 4497 | 17.0s | $0.0040/min | 79 |
| 4 | ShipfoxSaaS shipfox-2vcpu-ubuntu-2404 OVH / GCP | 4458 | 19.0s | $0.0040/min | 77 |
| 5 | RunsOnSelf-Hostedspot ✨ runs-on,family=m8a AWS | 3818 | 27.0s | $0.0009/min | 74 |
| 6 | NamespaceSaaSstandard nscloud-ubuntu-24.04-amd64-2x8 US/Europe | 4258 | 13.0s | $0.0040/min | 74 |
| 7 | UbicloudSaaSpremium ubicloud-premium-2-ubuntu-2404 Hetzner (Germany) | 3624 | 30.0s | $0.0016/min | 65 |
| 8 | RunsOnSelf-Hostedspot ✨ runs-on,family=m8i+r8i AWS | 3194 | 28.0s | $0.0009/min | 59 |
| 9 | WarpbuildSaaS warp-ubuntu-2404-x64-2x Hetzner / AWS / BYOC | 3702 | 16.0s | $0.0040/min | 58 |
| 10 | UbicloudSaaSstandard ubicloud-standard-2-ubuntu-2404 Hetzner (Germany) | 2894 | 19.0s | $0.0008/min | 54 |
| 11 | RunsOnSelf-Hostedspot ✨ runs-on,family=c7a+m7a+r7a AWS | 2879 | 30.0s | $0.0011/min | 49 |
| 12 | RunsOnSelf-Hostedspot ✨ runs-on,family=c7i+m7i+r7i AWS | 2788 | 29.0s | $0.0009/min | 48 |
| 13 | RunsOnSelf-Hostedspot ✨ runs-on,family=c6a+m6a+r6a AWS | 2582 | 29.0s | $0.0010/min | 43 |
| 14 | GitHubOfficial ubuntu-24.04 Azure | 2321 | 10.0s | $0.0060/min | 12 |
| 15 | AWS CodeBuildSelf-Hosted codebuild-ubuntu-8.0-medium, codebuild-ubuntu-8.0-small, codebuild-ubuntu-8.0-large AWS | 2105 | 30.0s | $0.0050/min | 10 |
| 16 | GitHubOfficial github24-2cpu-x64, ubuntu-24.04 Azure | 2275 | 10.0s | $0.0060/min | 10 |
| 17 | GitHubOfficial github24-2cpu-x64 Azure | 2197 | 12.0s | $0.0060/min | 8 |
| 18 | AWS CodeBuildSelf-Hosted codebuild-ubuntu-8.0-medium, codebuild-ubuntu-8.0-small, codebuild-ubuntu-8.0-large AWS | 1947 | 30.0s | $0.0050/min | 7 |
| 19 | AWS CodeBuildSelf-Hosted codebuild-ubuntu-8.0-small AWS | 1887 | 32.0s | $0.0050/min | 5 |
Settings
How scoring works
baseScore = (w_speed × speedScore + w_cost × costScore) / (w_speed + w_cost)speedScore = (cpu - cpuLow) / (cpuHigh - cpuLow), costScore = (priceHigh - price) / (priceHigh - priceLow) (both clamped 0-1)
queueAdj% = -min(15, max(0, queue - queueMin) × 0.5)
finalScore = baseScore × (1 + queueAdj% / 100)
| # | Provider | CPU p50 | Queue p50 | Price / min | Value score |
|---|---|---|---|---|---|
| 1 | CirrusSaaS ghcr.io/cirruslabs/ubuntu-runner-arm64:24.04-md Hetzner per runner monthly | 3738 | 26.0s | $0.0021/min | 85 |
| 2 | NamespaceSaaSpremium nscloud-ubuntu-24.04-arm64-2x8,namespace-features:linux-on-apple-silicon=true US/Europe | 3890 | 15.0s | $0.0120/min | 68 |
| 3 | RunsOnSelf-Hostedspot ✨ runs-on,family=c8g+m8g+r8g AWS | 1947 | 30.0s | $0.0008/min | 43 |
| 4 | ShipfoxSaaS shipfox-2vcpu-ubuntu-2404-arm OVH / GCP | 2084 | 25.0s | $0.0040/min | 40 |
| 5 | WarpbuildSaaS warp-ubuntu-latest-arm64-2x Hetzner / AWS / BYOC | 1945 | 38.0s | $0.0030/min | 36 |
| 6 | GitHubOfficial github24-2cpu-arm64 Azure | 1874 | 10.0s | $0.0050/min | 35 |
| 7 | RunsOnSelf-Hostedspot ✨ runs-on,family=c7g+m7g+r7g AWS | 1560 | 30.0s | $0.0008/min | 34 |
| 8 | UbicloudSaaSstandard ubicloud-standard-2-arm-ubuntu-2404 Hetzner (Germany) | 1316 | 18.0s | $0.0008/min | 30 |
| 9 | BlacksmithSaaS blacksmith-2vcpu-ubuntu-2404-arm Hetzner | 1367 | 22.0s | $0.0025/min | 27 |
| 10 | BlacksmithSaaS blacksmith-2vcpu-ubuntu-2404-arm Hetzner | 1329 | 21.0s | $0.0025/min | 26 |
| 11 | GitHubOfficial github24-2cpu-arm64 Azure | 1333 | 10.0s | $0.0050/min | 21 |
| 12 | NamespaceSaaSstandard nscloud-ubuntu-24.04-arm64-2x8 US/Europe | 1260 | 18.0s | $0.0040/min | 21 |
How to choose a GitHub Actions runner
- If you want the lowest price, compare $/min.
- If you want speed, look at the configured CPU percentile (currently p50 single‑thread).
- If you want the lowest queue, look at the configured queue percentile (currently p50). GitHub is usually best, followed by Warpbuild and Namespace.
- If you want predictability, favor providers with stable hardware (some Hetzner‑based fleets can vary CPUs).
- If you want control, pick self‑hosted (RunsOn, AWS CodeBuild) and keep data in your cloud account. RunsOn keeps runners inside your AWS VPC; see networking options.
Deep dive (full data)
Open full benchmark table with distributions
Includes per-runner distributions, CPU/queue percentiles, and provider metadata for the last 30 days.
| # | Provider | |||
|---|---|---|---|---|
| 1 | Blacksmith SaaS blacksmith-2vcpu-ubuntu-2404 $0.004/min 1.5x cheaper CPU speed p50: 4463 Queue time p50: 17.0s | |||
| 2 | Shipfox SaaS shipfox-2vcpu-ubuntu-2404 $0.004/min 1.5x cheaper CPU speed p50: 4458 Queue time p50: 19.0s | |||
| 3 | RunsOn Self-Hosted runs-on,family=m8azn $0.0015/min 4.0x cheaper spot CPU speed p50: 4270 Queue time p50: 27.0s | |||
| 4 | Namespace SaaS nscloud-ubuntu-24.04-amd64-2x8 $0.004/min 1.5x cheaper standard CPU speed p50: 4243 Queue time p50: 13.0s | |||
| 5 | Cirrus SaaS ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-xs $0.001/min 5.8x cheaper per runner monthly CPU speed p50: 3994 Queue time p50: 21.0s | |||
| CPU 4000+ | ||||
| 6 | RunsOn Self-Hosted runs-on,family=m8a $0.0009/min 6.3x cheaper spot CPU speed p50: 3818 Queue time p50: 27.0s | |||
| 7 | Warpbuild SaaS warp-ubuntu-2404-x64-2x $0.004/min 1.5x cheaper CPU speed p50: 3688 Queue time p50: 14.0s | |||
| 8 | Ubicloud SaaS ubicloud-premium-2-ubuntu-2404 $0.0016/min 3.8x cheaper premium CPU speed p50: 3607 Queue time p50: 30.0s | |||
| CPU 3500+ | ||||
| 9 | RunsOn Self-Hosted runs-on,family=m8i+r8i $0.0009/min 6.5x cheaper spot CPU speed p50: 3194 Queue time p50: 28.0s | |||
| CPU 3000+ | ||||
| 10 | Ubicloud SaaS ubicloud-standard-2-ubuntu-2404 $0.0008/min 7.5x cheaper standard CPU speed p50: 2893 Queue time p50: 17.0s | |||
| 11 | RunsOn Self-Hosted runs-on,family=c7a+m7a+r7a $0.0011/min 5.4x cheaper spot CPU speed p50: 2879 Queue time p50: 30.0s | |||
| 12 | RunsOn Self-Hosted runs-on,family=c7i+m7i+r7i $0.0009/min 6.6x cheaper spot CPU speed p50: 2788 Queue time p50: 29.0s | |||
| 13 | RunsOn Self-Hosted runs-on,family=m6a $0.001/min 5.8x cheaper spot CPU speed p50: 2582 Queue time p50: 29.0s | |||
| CPU 2500+ | ||||
| 14 | GitHub Official ubuntu-24.04 $0.006/min ≈ GitHub CPU speed p50: 2321 Queue time p50: 10.0s | |||
| 15 | GitHub Official github24-2cpu-x64, ubuntu-24.04 $0.006/min ≈ GitHub CPU speed p50: 2275 Queue time p50: 10.0s | |||
| 16 | GitHub Official github24-2cpu-x64 $0.006/min ≈ GitHub CPU speed p50: 2196 Queue time p50: 8.0s | |||
| 17 | AWS CodeBuild Self-Hosted codebuild-ubuntu-8.0-medium, codebuild-ubuntu-8.0-small, codebuild-ubuntu-8.0-large $0.005/min 1.2x cheaper CPU speed p50: 2061 Queue time p50: 30.0s | |||
| CPU 2000+ | ||||
| 18 | AWS CodeBuild Self-Hosted codebuild-ubuntu-8.0-medium, codebuild-ubuntu-8.0-small, codebuild-ubuntu-8.0-large $0.005/min 1.2x cheaper CPU speed p50: 1947 Queue time p50: 30.0s | |||
| 19 | AWS CodeBuild Self-Hosted codebuild-ubuntu-8.0-small $0.005/min 1.2x cheaper CPU speed p50: 1868 Queue time p50: 31.0s | |||
| # | Provider | |||
|---|---|---|---|---|
| 1 | Namespace SaaS nscloud-ubuntu-24.04-arm64-2x8,namespace-features:linux-on-apple-silicon=true $0.012/min 2.4x pricier premium CPU speed p50: 3873 Queue time p50: 15.0s | |||
| 2 | Cirrus SaaS ghcr.io/cirruslabs/ubuntu-runner-arm64:24.04-md $0.0021/min 3.8x cheaper per runner monthly CPU speed p50: 3685 Queue time p50: 23.0s | |||
| CPU 3500+ | ||||
| 3 | Shipfox SaaS shipfox-2vcpu-ubuntu-2404-arm $0.004/min 1.3x cheaper CPU speed p50: 2083 Queue time p50: 25.0s | |||
| CPU 2000+ | ||||
| 4 | RunsOn Self-Hosted runs-on,family=c8g+m8g+r8g $0.0008/min 6.0x cheaper spot CPU speed p50: 1947 Queue time p50: 30.0s | |||
| 5 | Warpbuild SaaS warp-ubuntu-latest-arm64-2x $0.003/min 1.7x cheaper CPU speed p50: 1945 Queue time p50: 34.0s | |||
| 6 | GitHub Official github24-2cpu-arm64 $0.005/min ≈ GitHub CPU speed p50: 1874 Queue time p50: 10.0s | |||
| 7 | RunsOn Self-Hosted runs-on,family=c7g+m7g+r7g $0.0008/min 5.9x cheaper spot CPU speed p50: 1560 Queue time p50: 30.0s | |||
| CPU 1500+ | ||||
| 8 | Blacksmith SaaS blacksmith-2vcpu-ubuntu-2404-arm $0.0025/min 2.0x cheaper CPU speed p50: 1367 Queue time p50: 22.0s | |||
| 9 | GitHub Official github24-2cpu-arm64 $0.005/min ≈ GitHub CPU speed p50: 1333 Queue time p50: 10.0s | |||
| 10 | Blacksmith SaaS blacksmith-2vcpu-ubuntu-2404-arm $0.0025/min 2.0x cheaper CPU speed p50: 1329 Queue time p50: 21.0s | |||
| 11 | Ubicloud SaaS ubicloud-standard-2-arm-ubuntu-2404 $0.0008/min 6.3x cheaper standard CPU speed p50: 1314 Queue time p50: 18.0s | |||
| 12 | Namespace SaaS nscloud-ubuntu-24.04-arm64-2x8 $0.004/min 1.3x cheaper standard CPU speed p50: 1260 Queue time p50: 18.0s | |||
Methodology & data sources
- Leaderboard and deep dive use the configured CPU/queue percentiles (currently p50/p50). CPU is Passmark single-thread; queue is time-to-start in seconds.
- Data window is the last 30 days before the last updated date.
- Pricing is normalized to $/min.
- Providers can vary hardware over time (especially Hetzner-based fleets).
Observations
Performance takeaways
- Shipfox, Namespace, Blacksmith, and RunsOn lead x64 single‑thread performance.
- Cirrus and Namespace lead arm64; Shipfox, RunsOn, and Warpbuild follow. GitHub’s newer Cobalt CPUs are closer but not consistently available.
- GitHub uses older CPUs overall, especially on x64.
Reliability & Scaling
- GitHub queue times are very good for standard runners. Used to be minutes for larger ones, but GitHub has improved their queue system.
- AWS provides better scalability than Hetzner-based providers.
- Third-party SaaS providers may require manual requests for higher vCPU concurrency, sometimes with extra fees. Same for static egress IPs. Self-hosted runners like RunsOn and AWS CodeBuild are not affected by this.
- Variable CPU models on some providers (for example Ubicloud tiers) can impact reproducibility.
Security & infra notes
- GitHub Actions runners are managed by GitHub and run on Azure. Access to private resources often requires secrets or OIDC.
- RunsOn is fully self-hosted in your AWS account with a dedicated GitHub App; IAM policies and networking are fully under your control.
- AWS CodeBuild is managed by AWS, runs in your account, and uses a shared GitHub App for registration.
- Namespace, Blacksmith, Cirrus, Warpbuild, Ubicloud, Depot, Shipfox are SaaS providers; some offer BYOC, but the control plane and runner registration are not fully under your control.
Gaps
- Detailed concurrency/scaling tests are still missing; they matter for high-volume CI/CD (thousands of jobs/day). RunsOn routinely handles more than 1M jobs every day.
Note: this analysis is valid as of February 2026. Things change quickly in this space, so make sure you do your own research as well.