the fastest github actions runners, ranked.
Single-thread CPU, queue time, and real $/min for every Linux runner worth considering — official GitHub, self-hosted, and third-party SaaS. The leaderboard re-ranks live as you drag the speed-vs-price dial, and RunsOn rows use real EC2 spot prices in your own AWS account.
TL;DR#
Best value
RunsOn, Namespace, and Blacksmith cluster in the cheap-and-fast corner. RunsOn leads self-hosted on both speed and price; AWS CodeBuild is slower and pricier.
Fastest CPU
x64: Namespace, Blacksmith, and RunsOn’s newest families (m8a / m8azn) lead single-thread. arm64: Namespace leads, followed by RunsOn and Warpbuild.
Cheapest
Self-hosted spot on AWS lands ~5.9× under GitHub — the bill goes to your own AWS account, not a middleman.
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#
CPU speed vs price per minute#
Each dot is a runner. Up is faster, left is cheaper — so the top-left corner is where you want to be. Dot size is queue time; hover any dot or row to link the two. Drag the speed-vs-price dial and the leaderboard re-ranks live.
Last updated:
Benchmarks use Linux runners only, the Passmark single-thread metric, and the last 30 days of data.
70% speed / 30% price
who's who
dot size = queue time
Smaller is better — the wait between trigger and first step. GitHub queues fastest; self-hosted spot trades a few seconds for much lower cost.
| # | provider | type | specs | cpu | queue | price / min | value |
|---|---|---|---|---|---|---|---|
| 1 | Namespacenscloud-ubuntu-24.04-amd64-2x8 | SaaSstandard | 4×8GBnorm $0.0024 | 4528 | 10s | $0.00401.5× cheaper | 90 |
| 2 | RunsOn ✦family=m8azn | Self-hostedspot | 2×8GB | 4269 | 23s | $0.00125.1× cheaper | 85 |
| 3 | Avreaavrea-ubuntu-24.04-2-vcpu | SaaS | 2×8GB | 4448 | 18s | $0.00401.5× cheaper | 77 |
| 4 | Blacksmithblacksmith-2vcpu-ubuntu-2404 | SaaS | 2×8GB | 4351 | 13s | $0.00401.5× cheaper | 76 |
| 5 | RunsOn ✦family=m8a | Self-hostedspot | 2×8GB | 3806 | 24s | $0.00096.9× cheaper | 74 |
| 6 | Ubicloudubicloud-premium-2-ubuntu-2404 | SaaSpremium | 2×8GB | 3616 | 27s | $0.00163.8× cheaper | 64 |
| 7 | Warpbuildwarp-ubuntu-2404-x64-2x | SaaS | 2×7GB | 3699 | 9s | $0.00401.5× cheaper | 58 |
| 8 | RunsOn ✦family=m8i+r8i | Self-hostedspot | 2×8GB | 3195 | 23s | $0.00105.9× cheaper | 58 |
| 9 | Ubicloudubicloud-standard-2-ubuntu-2404 | SaaSstandard | 2×8GB | 2908 | 14s | $0.00106.0× cheaper | 53 |
| 10 | RunsOn ✦family=c7a+m7a+r7a | Self-hostedspot | 2×8GB | 2875 | 26s | $0.00106.0× cheaper | 49 |
| 11 | StarSlingstarsling-ubuntu-24.04 | SaaS | 2×8GB | 3335 | 13s | $0.00401.5× cheaper | 48 |
| 12 | Ubicloudubicloud-standard-2-ubuntu-2404 | SaaSstandard | 2×8GB | 2909 | 36s | $0.00106.0× cheaper | 47 |
| 13 | RunsOn ✦family=c6a+m6a+r6a | Self-hostedspot | 2×8GB | 2584 | 25s | $0.00106.2× cheaper | 42 |
| 14 | RunsOn ✦family=c7i+m7i+r7i | Self-hostedspot | 2×8GB | 2543 | 25s | $0.00096.5× cheaper | 41 |
| 15 | GitHububuntu-24.04 | Official | 2×8GB | 2329 | 7s | $0.0060≈ GitHub | 9 |
| 16 | GitHubgithub24-2cpu-x64, ubuntu-24.04 | Official | 2×8GB | 2272 | 7s | $0.0060≈ GitHub | 7 |
| 17 | GitHubgithub24-2cpu-x64, ubuntu-24.04 | Official | 2×8GB | 2194 | 6s | $0.0060≈ GitHub | 5 |
| 18 | AWS CodeBuildcodebuild-ubuntu-8.0-medium, codebuild-ubuntu-8.0-large, codebuild-ubuntu-8.0-small | Self-hosted | 2×4GBnorm $0.0059 | 2148 | 26s | $0.00501.2× cheaper | 4 |
| 19 | AWS CodeBuildcodebuild-ubuntu-8.0-large, codebuild-ubuntu-8.0-small, codebuild-ubuntu-8.0-medium | Self-hosted | 2×4GBnorm $0.0059 | 2022 | 26s | $0.00501.2× cheaper | 1 |
| 20 | AWS CodeBuildcodebuild-ubuntu-8.0-large, codebuild-ubuntu-8.0-small, codebuild-ubuntu-8.0-medium | Self-hosted | 2×4GBnorm $0.0059 | 2020 | 26s | $0.00501.2× cheaper | 1 |
.large spot in us-east-1 + EBS + license amortized (€300/yr). GitHub is the price baseline for the “× cheaper” column.How to choose#
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 | CPU speed (p50) | Queue time (p50) + 30d P90 trend | Processor |
|---|---|---|---|---|
| 1 | Namespace SaaS nscloud-ubuntu-24.04-amd64-2x8 $0.004/min 1.5x cheaper standard | p50: 4528p90: 4701 | p50: 10.0sp90: 12.0s | AMD EPYC (x86_64) |
| CPU 4500+ | ||||
| 2 | Avrea SaaS avrea-ubuntu-24.04-2-vcpu $0.004/min 1.5x cheaper | p50: 4441p90: 4536 | p50: 15.0sp90: 24.0s | AMD EPYC 4585PX 16-Core Processor(x86_64) |
| 3 | Blacksmith SaaS blacksmith-2vcpu-ubuntu-2404 $0.004/min 1.5x cheaper | p50: 4351p90: 4580 | p50: 13.0sp90: 14.0s | AMD EPYC (x86_64) |
| 4 | RunsOn Self-Hosted runs-on,family=m8azn $0.0012/min 5.1x cheaper spot | p50: 4269p90: 4274 | p50: 23.0sp90: 31.0s | AMD EPYC 9R05 (x86_64) |
| CPU 4000+ | ||||
| 5 | RunsOn Self-Hosted runs-on,family=m8a $0.0009/min 6.9x cheaper spot | p50: 3806p90: 3824 | p50: 24.0sp90: 58.0s | AMD EPYC 9R45 (x86_64) |
| 6 | Warpbuild SaaS warp-ubuntu-2404-x64-2x $0.004/min 1.5x cheaper | p50: 3699p90: 3841 | p50: 9.0sp90: 27.0s | AMD Ryzen 9 7950X3D 16-Core Processor(x86_64) |
| 7 | Ubicloud SaaS ubicloud-premium-2-ubuntu-2404 $0.0016/min 3.8x cheaper premium | p50: 3522p90: 3849 | p50: 27.0sp90: 35.0s | AMD Ryzen 9 7950X3D 16-Core Processor(x86_64) |
| CPU 3500+ | ||||
| 8 | StarSling SaaS starsling-ubuntu-24.04 $0.004/min 1.5x cheaper | p50: 3306p90: 3335 | p50: 11.0sp90: 13.0s | AMD EPYC (x86_64) |
| 9 | RunsOn Self-Hosted runs-on,family=m8i+r8i $0.001/min 5.9x cheaper spot | p50: 3195p90: 3202 | p50: 23.0sp90: 24.0s | Intel(R) Xeon(R) 6975P-C (x86_64) |
| CPU 3000+ | ||||
| 10 | Ubicloud SaaS ubicloud-standard-2-ubuntu-2404 $0.001/min 6.0x cheaper standard | p50: 2908p90: 2954 | p50: 14.0sp90: 38.0s | AMD EPYC 9454P 48-Core Processor(x86_64) |
| 11 | Ubicloud SaaS ubicloud-standard-2-ubuntu-2404 $0.001/min 6.0x cheaper standard | p50: 2879p90: 2909 | p50: 13.0sp90: 36.0s | AMD EPYC 9454 48-Core Processor(x86_64) |
| 12 | RunsOn Self-Hosted runs-on,family=c7a+m7a+r7a $0.001/min 6.0x cheaper spot | p50: 2875p90: 2880 | p50: 26.0sp90: 33.0s | AMD EPYC 9R14 (x86_64) |
| 13 | RunsOn Self-Hosted runs-on,family=m6a $0.001/min 6.2x cheaper spot | p50: 2584p90: 2589 | p50: 25.0sp90: 26.0s | AMD EPYC 7R13 Processor (x86_64) |
| 14 | RunsOn Self-Hosted runs-on,family=c7i+m7i+r7i $0.0009/min 6.5x cheaper spot | p50: 2543p90: 2877 | p50: 25.0sp90: 26.0s | Intel(R) Xeon(R) Platinum 8488C (x86_64) |
| CPU 2500+ | ||||
| 15 | GitHub Official ubuntu-24.04 $0.006/min ≈ GitHub | p50: 2329p90: 2332 | p50: 7.0sp90: 8.0s | Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (x86_64) |
| 16 | GitHub Official github24-2cpu-x64, ubuntu-24.04 $0.006/min ≈ GitHub | p50: 2271p90: 2276 | p50: 7.0sp90: 8.0s | AMD EPYC 7763 64-Core Processor(x86_64) |
| 17 | GitHub Official github24-2cpu-x64, ubuntu-24.04 $0.006/min ≈ GitHub | p50: 2194p90: 2768 | p50: 6.0sp90: 12.0s | AMD EPYC 9V74 80-Core Processor(x86_64) |
| 18 | AWS CodeBuild Self-Hosted codebuild-ubuntu-8.0-medium, codebuild-ubuntu-8.0-large, codebuild-ubuntu-8.0-small $0.005/min 1.2x cheaper | p50: 2148p90: 2155 | p50: 26.0sp90: 37.0s | Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz (x86_64) |
| 19 | AWS CodeBuild Self-Hosted codebuild-ubuntu-8.0-large, codebuild-ubuntu-8.0-small, codebuild-ubuntu-8.0-medium $0.005/min 1.2x cheaper | p50: 2021p90: 2035 | p50: 26.0sp90: 30.0s | Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz (x86_64) |
| 20 | AWS CodeBuild Self-Hosted codebuild-ubuntu-8.0-large, codebuild-ubuntu-8.0-small, codebuild-ubuntu-8.0-medium $0.005/min 1.2x cheaper | p50: 2020p90: 2033 | p50: 26.0sp90: 28.0s | Intel(R) Xeon(R) Platinum 8223CL CPU @ 3.00GHz (x86_64) |
| # | Provider | CPU speed (p50) | Queue time (p50) + 30d P90 trend | Processor |
|---|---|---|---|---|
| 1 | Avrea SaaS avrea-ubuntu-24.04-arm-2-vcpu $0.012/min 2.4x pricier | p50: 5003p90: 5017 | p50: 19.0sp90: 32.0s | Apple M5 Max + Virtualization |
| CPU 5000+ | ||||
| 2 | Namespace SaaS nscloud-ubuntu-24.04-arm64-2x8,namespace-features:linux-on-apple-silicon=true $0.012/min 2.4x pricier premium | p50: 4785p90: 4945 | p50: 14.0sp90: 26.0s | Apple M4 + Virtualization |
| CPU 4500+ | ||||
| 3 | RunsOn Self-Hosted runs-on,family=m9g $0.0009/min 5.5x cheaper spot | p50: 2469p90: 2472 | p50: 25.0sp90: 45.0s | Neoverse-V3 (aarch64) |
| CPU 2000+ | ||||
| 4 | Warpbuild SaaS warp-ubuntu-latest-arm64-2x $0.003/min 1.7x cheaper | p50: 1945p90: 1946 | p50: 13.0sp90: 50.0s | Neoverse-V2 (aarch64) |
| 5 | RunsOn Self-Hosted runs-on,family=c8g+m8g+r8g $0.0009/min 5.7x cheaper spot | p50: 1946p90: 1948 | p50: 25.0sp90: 28.0s | Neoverse-V2 (aarch64) |
| 6 | GitHub Official github24-2cpu-arm64 $0.005/min ≈ GitHub | p50: 1874p90: 1878 | p50: 6.0sp90: 7.0s | Neoverse-N2 (aarch64) |
| 7 | RunsOn Self-Hosted runs-on,family=c7g+m7g+r7g $0.001/min 5.1x cheaper spot | p50: 1559p90: 1564 | p50: 27.0sp90: 31.0s | Neoverse-V1 (aarch64) |
| CPU 1500+ | ||||
| 8 | Blacksmith SaaS blacksmith-2vcpu-ubuntu-2404-arm $0.0025/min 2.0x cheaper | p50: 1358p90: 1375 | p50: 20.0sp90: 22.0s | Ampere-1a (aarch64) |
| 9 | Blacksmith SaaS blacksmith-2vcpu-ubuntu-2404-arm $0.0025/min 2.0x cheaper | p50: 1326p90: 1329 | p50: 18.0sp90: 24.0s | Neoverse-N1 (aarch64) |
| 10 | Ubicloud SaaS ubicloud-standard-2-arm-ubuntu-2404 $0.001/min 5.0x cheaper standard | p50: 1314p90: 1320 | p50: 14.0sp90: 34.0s | Neoverse-N1 (aarch64) |
| 11 | Namespace SaaS nscloud-ubuntu-24.04-arm64-2x8 $0.004/min 1.3x cheaper standard | p50: 1231p90: 1251 | p50: 17.0sp90: 30.0s | Ampere-1a (aarch64) |
What the data says#
- –Namespace, Blacksmith and RunsOn lead x64 single-thread.
- –Namespace leads arm64; RunsOn and Warpbuild follow. GitHub’s newer Cobalt CPUs are closer but not consistently available.
- –GitHub runs older CPUs overall, most visibly on x64.
- –GitHub’s queue times are excellent for standard runners — and much improved for larger ones.
- –AWS scales better than Hetzner-backed fleets under load.
- –Some SaaS providers gate higher vCPU concurrency (and static egress IPs) behind requests or fees; self-hosted RunsOn and CodeBuild aren’t affected.
- –Variable CPU models on some providers (e.g. Ubicloud tiers) can affect reproducibility.
- –RunsOn is fully self-hosted in your AWS account — your IAM, your network, a dedicated GitHub App.
- –AWS CodeBuild is managed by AWS but runs in your account (shared GitHub App for registration).
- –GitHub runners are managed by GitHub on Azure; private access needs secrets or OIDC.
- –Namespace, Blacksmith, Warpbuild, Ubicloud and Depot are SaaS; control plane and registration aren’t fully yours.
Gap: 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.
Benchmark changelog#
Routine benchmark sample refreshes, design-only changes, SEO edits, and internal refactors are omitted. These are the public-facing changes that affected provider coverage, pricing assumptions, scoring, or data filtering.
- Aug 2024 — The benchmark tracked CPU speed and queue time across the initial runner-provider set.
- Oct 2024 — Results moved toward p50/p95 CPU and queue distributions, and restricted or unavailable provider rows were handled explicitly.
- Jul 2025 — Provider summaries were revamped, and the median calculation was corrected.
- Oct 2025 — RunsOn m8a family results were added.
- Feb 2026 — The pricing-aware leaderboard was added, including provider pricing metadata, CPU-vs-price ranking, RunsOn EBS/license costs, and Cirrus monthly pricing normalization.
- Feb 2026 — RunsOn family-specific pricing, m8azn, spot/on-demand handling, p50/p90 CPU and queue percentiles, queue penalties, value scoring fixes, and family exclusions were added.
- Apr 2026 — BuildJet and Cirrus were removed from active benchmark/pricing coverage; Cirrus was removed after Cirrus Labs announced it was joining OpenAI and Cirrus Runners stopped accepting new customers.
- May 2026 — Shipfox was removed and Ubicloud pricing was updated.
- Jun 2026 — m9g was added, and value scoring started normalizing price by runner resources so differently sized runner shapes compare more fairly.
- Jun 2026 — Avrea was added with published pay-as-you-go pricing and Apple M5 Max ARM labeling.
- Jul 2026 — StarSling was added with published pay-as-you-go pricing for x64 Linux runners.
The benchmark runs on the same RunsOn anyone can deploy. One CloudFormation stack, your account, ~10 minutes.
Note: this analysis is updated regularly. Things change quickly in this space, so make sure you do your own research as well.