Skip to content

GitHub Actions CPU performance

GitHub Actions CPU performance

This guide compares CPU performance and queue times across GitHub Actions runners - including official GitHub runners, self-hosted solutions, and third-party providers. Real-world benchmarks show how each option performs to help select the optimal runner.

Providers included in the benchmark

Official:

Self-hosted alternatives:

Third-party alternatives:

Note: Warpbuild and Depot are third-party providers that resell AWS instances, but they forbid benchmarking their platform 🤷.

CPU speed and queuing times

Last updated:

Benchmarks are performed using the Passmark benchmarking tool ↗, using the CPU Single Threaded metric. The table displays the last 30 days of data, before the last updated date.

Key metrics such as the processor model, single-thread CPU speed, queue time, pricing, and the underlying infrastructure provider are compared. The CPU single-threaded rating is a crucial metric as it is the most significant factor (unless your job is massively parallel) in accelerating any of your workflows.

x64 runners

Provider CPU speed
(p50 | p90)
Queue time (s)
(p50 | p90 | max)
Processor Infra / ISP Samples
Namespace (2x cheaper, SaaS)
  • nscloud-ubuntu-22.04-amd64-2x8
3967 | 4096 15 | 18 AMD EPYC (x86_64) Namespacelabs (might vary) 35
Ubicloud (10x cheaper, SaaS)
  • ubicloud-standard-2
3843 | 3969 28 | 49 AMD Ryzen 9 7950X3D 16-Core Processor (x86_64) Hetzner Online 16
Blacksmith (2x cheaper, SaaS)
  • blacksmith-2vcpu-ubuntu-2204
3809 | 3985 21 | 24 AMD EPYC (x86_64) Hetzner Online 35
Buildjet (2x cheaper, SaaS)
  • buildjet-2vcpu-ubuntu-2204
3685 | 4086 21 | 24 AMD Ryzen 9 7950X3D 16-Core Processor (x86_64) Hetzner Online 8
Buildjet (2x cheaper, SaaS)
  • buildjet-2vcpu-ubuntu-2204
3307 | 3424 24 | 27 AMD Ryzen 9 5950X 16-Core Processor (x86_64) Hetzner Online 27
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=r7iz
3077 | 3083 27 | 45 Intel Xeon Gold 6455B (x86_64) Amazon.com 36
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=i7ie
3055 | 3144 31 | 46 Intel Xeon Platinum 8559C (x86_64) Amazon.com 36
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=m7a
  • runs-on,family=c7a
2877 | 2880 25 | 52 AMD EPYC 9R14 (x86_64) Amazon.com 63
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=m7i
2804 | 2945 27 | 38 Intel Xeon Platinum 8488C (x86_64) Amazon.com 35
Cirrus ($150/runner, SaaS)
  • ghcr.io/cirruslabs/ubuntu-runner-amd64:22.04-md
3040 | 3172 23 | 31 Intel Xeon Gold 5412U (x86_64) Hetzner Online GmbH 35
GitHub
  • github-16cpu-x64
2371 | 2374 8 | 10 AMD EPYC 7763 64-Core Processor (x86_64) (custom) Microsoft Azure 34
GitHub
  • ubuntu-22.04
2299 | 2305 9 | 12 AMD EPYC 7763 64-Core Processor (x86_64) Microsoft Azure 35
AWS CodeBuild
  • codebuild-ubuntu-7.0-small
  • codebuild-ubuntu-7.0-medium
  • codebuild-ubuntu-7.0-large
2108 | 2144 30 | 35 Intel Xeon Platinum 8275CL CPU @ 3.00GHz (x86_64) Amazon.com 84
AWS CodeBuild
  • codebuild-ubuntu-7.0-medium
  • codebuild-ubuntu-7.0-small
1982 | 2001 29 | 33 Intel Xeon Platinum 8124M CPU @ 3.00GHz (x86_64) Amazon.com 19
Warpbuild (2x cheaper, SaaS)
  • N/A
N/A N/A N/A Amazon.com 0
Depot (2x cheaper, SaaS)
  • N/A
N/A N/A N/A Amazon.com 0

arm64 runners

Provider CPU speed
(p50 | p90)
Queue time (s)
(p50 | p90 | max)
Processor Infra / ISP Samples
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=r8g
  • runs-on,family=m8g
1932 | 1934 26 | 55 Neoverse-V2 (aarch64) Amazon.com 59
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=m7g
1542 | 1547 27 | 46 (aarch64) Amazon.com 34
GitHub
  • github-2cpu-arm64
1869 | 1872 8 | 10 (aarch64) Microsoft Azure 25
GitHub
  • github-2cpu-arm64
1316 | 1319 7 | 9 Neoverse-N1 (aarch64) Microsoft Azure 10
Cirrus ($150/runner, SaaS)
  • ghcr.io/cirruslabs/ubuntu-runner-arm64:22.04-md
1325 | 1326 21 | 54 Neoverse-N1 (aarch64) Hetzner Online GmbH 30
Buildjet (2x cheaper, SaaS)
  • buildjet-2vcpu-ubuntu-2204-arm
1323 | 1325 35 | 37 Neoverse-N1 (aarch64) Hetzner Online 35
Blacksmith (2x cheaper, SaaS)
  • blacksmith-2vcpu-ubuntu-2204-arm
1313 | 1320 21 | 23 Neoverse-N1 (aarch64) Hetzner Online 35
Ubicloud (10x cheaper, SaaS)
  • ubicloud-standard-2-arm
1309 | 1314 19 | 39 Neoverse-N1 (aarch64) Hetzner Online 35
Namespace (2x cheaper, SaaS)
  • nscloud-ubuntu-22.04-arm64-2x8
1268 | 1274 17 | 19 (aarch64) Deft Hosting (might vary) 35
Warpbuild (2x cheaper, SaaS)
  • N/A
N/A N/A N/A Amazon.com 0
Depot (2x cheaper, SaaS)
  • N/A
N/A N/A N/A Amazon.com 0

FAQ

Who has the fastest x64 runners?

Namespace and Blacksmith, followed by Buildjet (though Buildjet’s CPU models can vary).

Who has the fastest arm64 runners?

RunsOn, since it uses latest AWS Graviton3 and Graviton4 processors. Hetzner-based providers use older ARM CPUs.

Who's the cheapest?

RunsOn and Ubicloud offer the best pricing, around 10x cheaper than GitHub.

Observations

Performance:

  • Namespace and Blacksmith lead x64 performance with latest AMD CPUs
  • RunsOn leads arm64 performance with AWS Graviton3 and Graviton4
  • GitHub uses older CPUs, especially for x64. Their arm64 is better but limited availability
  • AWS CodeBuild instances are slower than GitHub and more expensive

Reliability & Scaling:

  • GitHub queue times are good for standard runners, but can be minutes for larger ones
  • 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 variable CPU models impact reproducibility

Cost:

  • RunsOn and Ubicloud are ~10x cheaper than GitHub
  • AWS CodeBuild pricing isn’t competitive

Missing from benchmark:

  • Detailed concurrency/scaling tests. Important for high-volume CI/CD (thousands of jobs/day)

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