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 | 4663 | 10s | $0.00401.5× cheaper | 90 |
| 2 | RunsOn ✦family=m8azn | Self-hostedspot | 2×8GB | 4269 | 22s | $0.00125.1× cheaper | 85 |
| 3 | Avreaavrea-ubuntu-24.04-2-vcpu | SaaS | 2×8GB | 4453 | 12s | $0.00401.5× cheaper | 79 |
| 4 | RunsOn ✦family=m8a | Self-hostedspot | 2×8GB | 3820 | 22s | $0.00096.9× cheaper | 74 |
| 5 | Blacksmithblacksmith-2vcpu-ubuntu-2404 | SaaS | 2×8GB | 4217 | 15s | $0.00401.5× cheaper | 71 |
| 6 | Ubicloudubicloud-premium-2-ubuntu-2404 | SaaSpremium | 2×8GB | 3624 | 23s | $0.00203.0× cheaper | 63 |
| 7 | Warpbuildwarp-ubuntu-2404-x64-2x | SaaS | 2×7GB | 3788 | 16s | $0.00401.5× cheaper | 58 |
| 8 | RunsOn ✦family=m8i+r8i | Self-hostedspot | 2×8GB | 3195 | 23s | $0.00105.9× cheaper | 56 |
| 9 | RunsOn ✦family=c7i+m7i+r7i | Self-hostedspot | 2×8GB | 2867 | 24s | $0.00096.5× cheaper | 48 |
| 10 | RunsOn ✦family=c7a+m7a+r7a | Self-hostedspot | 2×8GB | 2876 | 26s | $0.00106.0× cheaper | 47 |
| 11 | StarSlingstarsling-ubuntu-24.04 | SaaS | 2×8GB | 3345 | 13s | $0.00401.5× cheaper | 47 |
| 12 | Ubicloudubicloud-standard-2-ubuntu-2404 | SaaSstandard | 2×8GB | 2914 | 29s | $0.00134.8× cheaper | 46 |
| 13 | RunsOn ✦family=c6a+m6a+r6a | Self-hostedspot | 2×8GB | 2584 | 26s | $0.00106.2× cheaper | 39 |
| 14 | GitHubgithub24-2cpu-x64, ubuntu-24.04 | Official | 2×8GB | 2678 | 7s | $0.0060≈ GitHub | 16 |
| 15 | GitHubgithub24-2cpu-x64, ubuntu-24.04 | Official | 2×8GB | 2316 | 8s | $0.0060≈ GitHub | 6 |
| 16 | GitHububuntu-24.04, github24-2cpu-x64 | Official | 2×8GB | 2270 | 7s | $0.0060≈ GitHub | 4 |
| 17 | GitHububuntu-24.04, github24-2cpu-x64 | Official | 2×8GB | 2200 | 7s | $0.0060≈ GitHub | 2 |
| 18 | AWS CodeBuildcodebuild-ubuntu-8.0-large, codebuild-ubuntu-8.0-small, codebuild-ubuntu-8.0-medium | Self-hosted | 2×4GBnorm $0.0059 | 2140 | 23s | $0.00501.2× cheaper | 1 |
| 19 | AWS CodeBuildcodebuild-ubuntu-8.0-small, codebuild-ubuntu-8.0-medium, codebuild-ubuntu-8.0-large | Self-hosted | 2×4GBnorm $0.0059 | 2022 | 24s | $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: 4663p90: 4722 | p50: 10.0sp90: 13.0s | AMD EPYC (x86_64) |
| CPU 4500+ | ||||
| 2 | Avrea SaaS avrea-ubuntu-24.04-2-vcpu $0.004/min 1.5x cheaper | p50: 4439p90: 4536 | p50: 12.0sp90: 16.0s | AMD EPYC 4585PX 16-Core Processor(x86_64) |
| 3 | RunsOn Self-Hosted runs-on,family=m8azn $0.0012/min 5.1x cheaper spot | p50: 4269p90: 4284 | p50: 22.0sp90: 43.0s | AMD EPYC 9R05 (x86_64) |
| 4 | Blacksmith SaaS blacksmith-2vcpu-ubuntu-2404 $0.004/min 1.5x cheaper | p50: 4217p90: 4529 | p50: 15.0sp90: 17.0s | AMD EPYC (x86_64) |
| CPU 4000+ | ||||
| 5 | RunsOn Self-Hosted runs-on,family=m8a $0.0009/min 6.9x cheaper spot | p50: 3818p90: 3833 | p50: 22.0sp90: 25.0s | AMD EPYC 9R45 (x86_64) |
| 6 | Warpbuild SaaS warp-ubuntu-2404-x64-2x $0.004/min 1.5x cheaper | p50: 3781p90: 3881 | p50: 16.0sp90: 28.0s | AMD Ryzen 9 7950X3D 16-Core Processor(x86_64) |
| 7 | Ubicloud SaaS ubicloud-premium-2-ubuntu-2404 $0.002/min 3.0x cheaper premium | p50: 3618p90: 3843 | p50: 23.0sp90: 38.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: 3344p90: 4101 | p50: 13.0sp90: 18.0s | AMD EPYC (x86_64) |
| 9 | RunsOn Self-Hosted runs-on,family=m8i+r8i $0.001/min 5.9x cheaper spot | p50: 3195p90: 3200 | p50: 23.0sp90: 28.0s | Intel(R) Xeon(R) 6975P-C (x86_64) |
| CPU 3000+ | ||||
| 10 | Ubicloud SaaS ubicloud-standard-2-ubuntu-2404 $0.0013/min 4.8x cheaper standard | p50: 2914p90: 2954 | p50: 29.0sp90: 40.0s | AMD EPYC 9454P 48-Core Processor(x86_64) |
| 11 | RunsOn Self-Hosted runs-on,family=c7i+m7i+r7i $0.0009/min 6.5x cheaper spot | p50: 2810p90: 2948 | p50: 24.0sp90: 59.0s | Intel(R) Xeon(R) Platinum 8488C (x86_64) |
| 12 | RunsOn Self-Hosted runs-on,family=c7a+m7a+r7a $0.001/min 6.0x cheaper spot | p50: 2876p90: 2879 | p50: 26.0sp90: 44.0s | AMD EPYC 9R14 (x86_64) |
| 13 | GitHub Official github24-2cpu-x64, ubuntu-24.04 $0.006/min ≈ GitHub | p50: 2674p90: 2864 | p50: 7.0sp90: 8.0s | INTEL(R) XEON(R) PLATINUM 8573C (x86_64) |
| 14 | RunsOn Self-Hosted runs-on,family=m6a $0.001/min 6.2x cheaper spot | p50: 2584p90: 2590 | p50: 25.0sp90: 46.0s | AMD EPYC 7R13 Processor (x86_64) |
| CPU 2500+ | ||||
| 15 | GitHub Official github24-2cpu-x64, ubuntu-24.04 $0.006/min ≈ GitHub | p50: 2316p90: 2338 | p50: 8.0sp90: 8.0s | Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (x86_64) |
| 16 | GitHub Official ubuntu-24.04, github24-2cpu-x64 $0.006/min ≈ GitHub | p50: 2270p90: 2279 | p50: 7.0sp90: 16.0s | AMD EPYC 7763 64-Core Processor(x86_64) |
| 17 | GitHub Official ubuntu-24.04, github24-2cpu-x64 $0.006/min ≈ GitHub | p50: 2200p90: 2791 | p50: 7.0sp90: 14.0s | AMD EPYC 9V74 80-Core Processor(x86_64) |
| 18 | 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: 2140p90: 2152 | p50: 23.0sp90: 27.0s | Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz (x86_64) |
| 19 | AWS CodeBuild Self-Hosted codebuild-ubuntu-8.0-small, codebuild-ubuntu-8.0-medium, codebuild-ubuntu-8.0-large $0.005/min 1.2x cheaper | p50: 2022p90: 2034 | p50: 24.0sp90: 29.0s | Intel(R) Xeon(R) Platinum 8124M 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: 4887p90: 4914 | p50: 18.0sp90: 19.0s | Apple M5 Max + Virtualization |
| 2 | Namespace SaaS nscloud-ubuntu-24.04-arm64-2x8,namespace-features:linux-on-apple-silicon=true $0.012/min 2.4x pricier premium | p50: 4805p90: 4956 | p50: 16.0sp90: 27.0s | Apple M4 + Virtualization |
| CPU 4500+ | ||||
| 3 | RunsOn Self-Hosted runs-on,family=m9g $0.0009/min 5.5x cheaper spot | p50: 2464p90: 2467 | p50: 24.0sp90: 59.0s | Neoverse-V3 (aarch64) |
| CPU 2000+ | ||||
| 4 | RunsOn Self-Hosted runs-on,family=c8g+m8g+r8g $0.0009/min 5.7x cheaper spot | p50: 1946p90: 1947 | p50: 25.0sp90: 44.0s | Neoverse-V2 (aarch64) |
| 5 | Warpbuild SaaS warp-ubuntu-latest-arm64-2x $0.003/min 1.7x cheaper | p50: 1944p90: 1946 | p50: 35.0sp90: 39.0s | Neoverse-V2 (aarch64) |
| 6 | GitHub Official github24-2cpu-arm64 $0.005/min ≈ GitHub | p50: 1874p90: 1878 | p50: 6.0sp90: 10.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: 26.0sp90: 42.0s | Neoverse-V1 (aarch64) |
| CPU 1500+ | ||||
| 8 | Blacksmith SaaS blacksmith-2vcpu-ubuntu-2404-arm $0.0025/min 2.0x cheaper | p50: 1355p90: 1374 | p50: 21.0sp90: 24.0s | Ampere-1a (aarch64) |
| 9 | Ubicloud SaaS ubicloud-standard-2-arm-ubuntu-2404 $0.0013/min 4.0x cheaper standard | p50: 1312p90: 1317 | p50: 14.0sp90: 41.0s | Neoverse-N1 (aarch64) |
| 10 | Blacksmith SaaS blacksmith-2vcpu-ubuntu-2404-arm $0.0025/min 2.0x cheaper | p50: 1310p90: 1326 | p50: 18.0sp90: 19.0s | Neoverse-N1 (aarch64) |
| 11 | Namespace SaaS nscloud-ubuntu-24.04-arm64-2x8 $0.004/min 1.3x cheaper standard | p50: 1231p90: 1257 | p50: 19.0sp90: 38.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. Ubicloud standard runner pricing was updated from $0.0008 to $0.0010 per minute for the 2 vCPU runner after its 2026 price adjustment; premium runner pricing was unchanged.
- 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.
- Aug 2026 — Ubicloud standard and premium runner prices were increased by 25% ahead of the September 1 effective date. The 2 vCPU rates moved from $0.0010 to $0.00125 per minute for standard runners and from $0.0016 to $0.0020 per minute for premium 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.