Skip to content

GitHub Actions CPU performance benchmarks

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.

GitHub Actions CPU performance

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.

Benchmarks cover GitHub, RunsOn, AWS CodeBuild, BuildJet, Namespace, Blacksmith, Cirrus, Warpbuild, Ubicloud, and Shipfox across Linux x64 and arm64.

Best value

RunsOn spot (2 vCPU) is ~$0.0008/min (x64) and ~$0.0007/min (arm64) including default EBS + license, roughly ~7.2x and ~6.8x cheaper than GitHub. Ubicloud is next at ~$0.0016/min (premium).

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: Namespace (~4630) leads, followed by Shipfox and Blacksmith. arm64: Namespace (~4226) leads, followed by Cirrus.

Lowest queue

GitHub is lowest at ~8s (x64) and ~6s (arm64). Warpbuild and Namespace are close behind on x64.

How to read: CPU p50 is single-thread Passmark (higher is better), queue p50 is time to start (lower is better), and price is normalized $/min.

GitHub Actions runner comparison leaderboard (Linux x64 vs Linux arm64)

Section titled “GitHub Actions runner comparison leaderboard (Linux x64 vs Linux arm64)”

Last updated:

Benchmarks use Linux runners only, the Passmark single-thread metric, and the last 30 days of data.

If you’re comparing GitHub Actions runner pricing per minute, use the $/min column below and account for spot vs on‑demand and any GitHub self‑hosted runner fee for private repos.

Ranking uses normalized CPU + price. Queue applies a 1% penalty per 1s over 8s.
RunsOn#1 best value
CPU p50: 3812
Queue p50: 26.0s
Price: $0.0008/min
Ubicloud#2 best value
CPU p50: 3784
Queue p50: 26.0s
Price: $0.0016/min
Namespace#3 best value
CPU p50: 4467
Queue p50: 10.0s
Price: $0.004/min
CPU vs price (queue size)x64 runners
Left is cheaper, higher is faster. Bigger dots mean longer queues.RunsOnGitHubOthersHover dots for provider + runner.
Provider
CPU p50
Queue p50
Price / min
Value score
RunsOnruns-on,family=m8aAWS
Self-Hostedspot
381226.0s$0.0008/min
79
Ubicloudubicloud-premium-2-ubuntu-2404Hetzner (Germany)
SaaSpremium
378426.0s$0.0016/min
73
Namespacenscloud-ubuntu-24.04-amd64-2x8US/Europe
SaaSplan
446710.0s$0.004/min
72
Blacksmithblacksmith-2vcpu-ubuntu-2404Hetzner
SaaS
447914.0s$0.004/min
71
Shipfoxshipfox-2vcpu-ubuntu-2404OVH / GCP
SaaS
448615.0s$0.004/min
70
Warpbuildwarp-ubuntu-2404-x64-2xHetzner / AWS / BYOC
SaaS
364011.0s$0.004/min
59
Buildjetbuildjet-2vcpu-ubuntu-2204Hetzner
SaaS
378417.0s$0.004/min
58
Cirrusghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-mdHetzner
SaaSper runner monthly
395817.0s$0.0083/min
27
GitHubgithub24-2cpu-x64Azure
Official
23288.0s$0.006/min
25
AWS CodeBuildcodebuild-ubuntu-8.0-small, codebuild-ubuntu-8.0-medium, codebuild-ubuntu-8.0-largeAWS
Self-Hosted
198727.0s$0.005/min
18
  • GitHub hosted runners are billed per-minute.
  • Spot vs on-demand pricing can swing costs by 2–4x depending on region.
  • RunsOn pricing here includes EC2 + EBS storage + License (EUR 300/yr @ 25d * 12h / 100 jobs/day).
  • RunsOn spot pricing starts at ~$0.0006/min (x64 1 vCPU) and ~$0.0005/min (arm64 1 vCPU), including EBS + license. The 2 vCPU spot rates shown elsewhere are $0.0008/min and $0.0007/min respectively.
  • See RunsOn’s pricing calculator to model $/min vs GitHub.
  • If you want the lowest price, compare $/min.
  • If you want speed, look at CPU p50 (single‑thread) because most CI jobs are not fully parallel.
  • If you want the lowest queue, GitHub leads in this dataset (~6–8s p50), 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.

See full provider list

Official:

Self-hosted alternatives:

Third-party alternatives:

Note: I’d love to benchmark Depot (hosted on AWS), but they forbid benchmarking their platform 🤷.

Open full benchmark table & box plots

Includes per-runner distributions, CPU/queue percentiles, and provider metadata for the last 30 days.

Blacksmith
SaaS $0.004/min 1.5x cheaper
  • blacksmith-2vcpu-ubuntu-2404
CPU speed
p50:4479
Queue time
p50:14.0s
AMD EPYC (x86_64)
  • Infra / ISP: Hetzner
  • Samples: 22
Shipfox
SaaS $0.004/min 1.5x cheaper
  • shipfox-2vcpu-ubuntu-2404
CPU speed
p50:4486
Queue time
p50:15.0s
AMD EPYC 4585PX 16-Core Processor(x86_64)
  • Infra / ISP: OVH / GCP
  • Samples: 21
Namespace
SaaS $0.004/min 1.5x cheaper plan
  • nscloud-ubuntu-24.04-amd64-2x8
CPU speed
p50:4467
Queue time
p50:10.0s
AMD EPYC (x86_64)
  • Infra / ISP: US/Europe (might vary)
  • Price basis: Plan includes 2 vCPU / 8GB + caching
  • Samples: 22

CPU 4000+
Cirrus
SaaS $0.0083/min 2.6x cheaper per runner monthly
  • ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-md
CPU speed
p50:3958
Queue time
p50:17.0s
AMD Ryzen 9 7950X3D 16-Core Processor(x86_64)
  • Infra / ISP: Hetzner
  • Pricing model: per runner monthly
  • Price basis: $150/month @ 25d * 12h utilization
  • Samples: 22
RunsOn
Self-Hosted $0.0008/min 7.2x cheaper spot
  • runs-on,family=m8a
CPU speed
p50:3812
Queue time
p50:26.0s
AMD EPYC 9R45 (x86_64)
  • Infra / ISP: AWS
  • Price basis: EC2 + EBS (40GB gp3, 400 MB/s) + License (EUR 300/yr @ 25d * 12h / 100 jobs/day)
  • Samples: 22
Buildjet
SaaS $0.004/min 1.5x cheaper
  • buildjet-2vcpu-ubuntu-2204
CPU speed
p50:3784
Queue time
p50:17.0s
AMD Ryzen 9 7950X3D 16-Core Processor(x86_64)
  • Infra / ISP: Hetzner
  • Samples: 4
Ubicloud
SaaS $0.0016/min 3.8x cheaper premium
  • ubicloud-premium-2-ubuntu-2404
CPU speed
p50:3784
Queue time
p50:26.0s
AMD Ryzen 9 7950X3D 16-Core Processor(x86_64)
  • Infra / ISP: Hetzner (Germany)
  • Samples: 22
Warpbuild
SaaS $0.004/min 1.5x cheaper
  • warp-ubuntu-2404-x64-2x
CPU speed
p50:3640
Queue time
p50:11.0s
AMD Ryzen 9 7950X3D 16-Core Processor(x86_64)
  • Infra / ISP: Hetzner / AWS / BYOC
  • Samples: 9

CPU 3500+
Buildjet
SaaS $0.004/min 1.5x cheaper
  • buildjet-2vcpu-ubuntu-2204
CPU speed
p50:3256
Queue time
p50:20.0s
AMD Ryzen 9 5950X 16-Core Processor(x86_64)
  • Infra / ISP: Hetzner
  • Samples: 18
RunsOn
Self-Hosted $0.0006/min 9.4x cheaper spot
  • runs-on,family=m8i+r8i
CPU speed
p50:3196
Queue time
p50:28.0s
Intel(R) Xeon(R) 6975P-C (x86_64)
  • Infra / ISP: AWS
  • Price basis: EC2 + EBS (40GB gp3, 400 MB/s) + License (EUR 300/yr @ 25d * 12h / 100 jobs/day)
  • Samples: 21
RunsOn
Self-Hosted $0.0006/min 9.4x cheaper spot
  • runs-on,family=r7iz
CPU speed
p50:3070
Queue time
p50:28.0s
Intel(R) Xeon(R) Gold 6455B (x86_64)
  • Infra / ISP: AWS
  • Price basis: EC2 + EBS (40GB gp3, 400 MB/s) + License (EUR 300/yr @ 25d * 12h / 100 jobs/day)
  • Samples: 21

CPU 3000+
Ubicloud
SaaS $0.0016/min 3.8x cheaper premium
  • ubicloud-standard-2-ubuntu-2404
CPU speed
p50:2909
Queue time
p50:18.0s
AMD EPYC 9454P 48-Core Processor(x86_64)
  • Infra / ISP: Hetzner (Germany)
  • Samples: 22
RunsOn
Self-Hosted $0.0008/min 7.2x cheaper spot
  • runs-on,family=c7a+m7a+r7a
CPU speed
p50:2877
Queue time
p50:27.0s
AMD EPYC 9R14 (x86_64)
  • Infra / ISP: AWS
  • Price basis: EC2 + EBS (40GB gp3, 400 MB/s) + License (EUR 300/yr @ 25d * 12h / 100 jobs/day)
  • Samples: 21
RunsOn
Self-Hosted $0.0006/min 9.4x cheaper spot
  • runs-on,family=c7i+m7i+r7i
CPU speed
p50:2887
Queue time
p50:28.0s
Intel(R) Xeon(R) Platinum 8488C (x86_64)
  • Infra / ISP: AWS
  • Price basis: EC2 + EBS (40GB gp3, 400 MB/s) + License (EUR 300/yr @ 25d * 12h / 100 jobs/day)
  • Samples: 21
RunsOn
Self-Hosted $0.0006/min 9.4x cheaper spot
  • runs-on,family=i7ie
CPU speed
p50:2882
Queue time
p50:31.0s
Intel(R) Xeon(R) Platinum 8559C (x86_64)
  • Infra / ISP: AWS
  • Price basis: EC2 + EBS (40GB gp3, 400 MB/s) + License (EUR 300/yr @ 25d * 12h / 100 jobs/day)
  • Samples: 21

CPU 2500+
GitHub
Official $0.006/min ≈ GitHub
  • github24-2cpu-x64
CPU speed
p50:2328
Queue time
p50:8.0s
Intel(R) Xeon(R) Platinum 8370C CPU @ 2.80GHz (x86_64)
  • Infra / ISP: Azure
  • Samples: 2
GitHub
Official $0.006/min ≈ GitHub
  • ubuntu-24.04
  • github24-2cpu-x64
CPU speed
p50:2281
Queue time
p50:7.0s
AMD EPYC 7763 64-Core Processor(x86_64)
  • Infra / ISP: Azure
  • Samples: 42

CPU 2000+
AWS CodeBuild
Self-Hosted $0.005/min 1.2x cheaper
  • codebuild-ubuntu-8.0-small
  • codebuild-ubuntu-8.0-medium
  • codebuild-ubuntu-8.0-large
CPU speed
p50:1987
Queue time
p50:27.0s
Intel(R) Xeon(R) Platinum 8275CL CPU @ 3.00GHz (x86_64)
  • Infra / ISP: AWS
  • Samples: 45
AWS CodeBuild
Self-Hosted $0.005/min 1.2x cheaper
  • codebuild-ubuntu-8.0-medium
  • codebuild-ubuntu-8.0-large
  • codebuild-ubuntu-8.0-small
CPU speed
p50:1909
Queue time
p50:28.0s
Intel(R) Xeon(R) Platinum 8124M CPU @ 3.00GHz (x86_64)
  • Infra / ISP: AWS
  • Samples: 21
  • CPU p50 is Passmark single-thread; queue p50 is time-to-start (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).
  • Namespace leads x64 single‑thread; Shipfox and Blacksmith follow, with Cirrus close behind. AWS‑backed x64 runners lag due to slower CPU refresh cycles.
  • Namespace and Cirrus (Apple virtualization) lead arm64; RunsOn and Warpbuild follow with Graviton4. GitHub’s newer Cobalt CPUs are closer but not consistently available.
  • GitHub uses older CPUs overall, especially on x64.
  • RunsOn is the cheapest by a wide margin (roughly ~7.2x vs GitHub at 2 vCPU spot including EBS, with larger savings at smaller sizes); Ubicloud is typically next. AWS CodeBuild remains slow and not price‑competitive.
  • 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.
  • Hetzner providers (Buildjet, Ubicloud etc) require manual requests for higher concurrency, sometimes with extra fees.
  • Buildjet’s and Ubicloud’s variable CPU models impact reproducibility.
  • 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.
  • Detailed concurrency/scaling tests are still missing; they matter for high-volume CI/CD (thousands of jobs/day).

Note: this analysis is valid as of January 2026. Things change quickly in this space, so make sure you do your own research as well.

Last updated: