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
3955 | 4096 15 | 19 AMD EPYC (x86_64) Namespacelabs (might vary) 34
Ubicloud (10x cheaper, SaaS)
  • ubicloud-standard-2
3843 | 3969 28 | 49 AMD Ryzen 9 7950X3D 16-Core Processor (x86_64) Hetzner Online 16
Ubicloud (10x cheaper, SaaS)
  • ubicloud-standard-2
2889 | 2932 21 | 44 AMD EPYC 9454P 48-Core Processor (x86_64) Hetzner Online 17
Blacksmith (2x cheaper, SaaS)
  • blacksmith-2vcpu-ubuntu-2204
3826 | 3985 20 | 24 AMD EPYC (x86_64) Hetzner Online 34
Buildjet (2x cheaper, SaaS)
  • buildjet-2vcpu-ubuntu-2204
3685 | 4086 21 | 24 AMD Ryzen 9 7950X3D 16-Core Processor (x86_64) Hetzner Online 9
Buildjet (2x cheaper, SaaS)
  • buildjet-2vcpu-ubuntu-2204
3311 | 3424 23 | 27 AMD Ryzen 9 5950X 16-Core Processor (x86_64) Hetzner Online 25
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=r7iz
3077 | 3083 27 | 43 Intel Xeon Gold 6455B (x86_64) Amazon.com 35
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=i7ie
3027 | 3144 31 | 46 Intel Xeon Platinum 8559C (x86_64) Amazon.com 35
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=c7a
  • runs-on,family=m7a
2877 | 2881 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 34
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 34
GitHub
  • github-16cpu-x64
2371 | 2374 8 | 10 AMD EPYC 7763 64-Core Processor (x86_64) (custom) Microsoft Azure 33
GitHub
  • ubuntu-22.04
2298 | 2304 9 | 11 AMD EPYC 7763 64-Core Processor (x86_64) Microsoft Azure 34
AWS CodeBuild
  • codebuild-ubuntu-7.0-large
  • codebuild-ubuntu-7.0-small
  • codebuild-ubuntu-7.0-medium
2108 | 2144 30 | 35 Intel Xeon Platinum 8275CL CPU @ 3.00GHz (x86_64) Amazon.com 82
AWS CodeBuild
  • codebuild-ubuntu-7.0-medium
  • codebuild-ubuntu-7.0-small
1982 | 2001 29 | 32 Intel Xeon Platinum 8124M CPU @ 3.00GHz (x86_64) Amazon.com 18
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 33
GitHub
  • github-2cpu-arm64
1869 | 1872 7 | 10 (aarch64) Microsoft Azure 23
Cirrus ($150/runner, SaaS)
  • ghcr.io/cirruslabs/ubuntu-runner-arm64:22.04-md
1325 | 1326 21 | 55 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 34
Blacksmith (2x cheaper, SaaS)
  • blacksmith-2vcpu-ubuntu-2204-arm
1313 | 1320 21 | 23 Neoverse-N1 (aarch64) Hetzner Online 34
Ubicloud (10x cheaper, SaaS)
  • ubicloud-standard-2-arm
1309 | 1314 19 | 39 Neoverse-N1 (aarch64) Hetzner Online 34
Namespace (2x cheaper, SaaS)
  • nscloud-ubuntu-22.04-arm64-2x8
1264 | 1272 17 | 19 (aarch64) Deft Hosting (might vary) 34
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.