Skip to content

GitHub Actions CPU performance benchmarks

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.

Official:

Self-hosted alternatives:

Third-party alternatives:

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

GitHub Actions CPU speed and queuing times

Section titled “GitHub Actions CPU speed and queuing times”

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.

Cirrus ($150/runner)
  • ghcr.io/cirruslabs/ubuntu-runner-amd64:24.04-md
CPU speed
p50:3993
Queue time
p50:24.0s
AMD Ryzen 9 7950X3D 16-Core Processor (x86_64)
  • Infra / ISP: HOS-696102
  • Samples: 27
Warpbuild (2x cheaper)
  • warp-ubuntu-2404-x64-2x
CPU speed
p50:3832
Queue time
p50:31.0s
AMD Ryzen 9 7950X3D 16-Core Processor (x86_64)
  • Infra / ISP: Hetzner Online GmbH
  • Samples: 27
Namespace (2x cheaper)
  • nscloud-ubuntu-24.04-amd64-2x8
CPU speed
p50:3800
Queue time
p50:10.0s
AMD EPYC (x86_64)
  • Infra / ISP: Namespace Labs (might vary)
  • Samples: 30
Buildjet (2x cheaper)
  • buildjet-2vcpu-ubuntu-2204
CPU speed
p50:3791
Queue time
p50:19.0s
AMD Ryzen 9 7950X3D 16-Core Processor (x86_64)
  • Infra / ISP: Hetzner Online GmbH
  • Samples: 4
Blacksmith (2x cheaper)
  • blacksmith-2vcpu-ubuntu-2404
CPU speed
p50:3770
Queue time
p50:19.0s
AMD EPYC (x86_64)
  • Infra / ISP: Hetzner Online GmbH
  • Samples: 30
Ubicloud (10x cheaper)
  • ubicloud-premium-2-ubuntu-2404
CPU speed
p50:3711
Queue time
p50:26.0s
AMD Ryzen 9 7950X3D 16-Core Processor (x86_64)
  • Infra / ISP: HOS-1558733
  • Samples: 30

CPU 3500+
Buildjet (2x cheaper)
  • buildjet-2vcpu-ubuntu-2204
CPU speed
p50:3287
Queue time
p50:18.0s
AMD Ryzen 9 5950X 16-Core Processor (x86_64)
  • Infra / ISP: Hetzner Online GmbH
  • Samples: 26
RunsOn (10x cheaper)
  • runs-on,family=r8i
CPU speed
p50:3196
Queue time
p50:27.0s
Intel Xeon 6975P-C (x86_64)
  • Infra / ISP: Amazon Technologies Inc.
  • Samples: 9
RunsOn (10x cheaper)
  • runs-on,family=r7iz
CPU speed
p50:3063
Queue time
p50:26.0s
Intel Xeon Gold 6455B (x86_64)
  • Infra / ISP: Amazon Technologies Inc.
  • Samples: 31

CPU 3000+
Ubicloud (10x cheaper)
  • ubicloud-standard-2-ubuntu-2404
CPU speed
p50:2908
Queue time
p50:30.0s
AMD EPYC 9454P 48-Core Processor (x86_64)
  • Infra / ISP: Hetzner Online GmbH
  • Samples: 30
RunsOn (10x cheaper)
  • runs-on,family=m7a
  • runs-on,family=c7a
CPU speed
p50:2880
Queue time
p50:27.0s
AMD EPYC 9R14 (x86_64)
  • Infra / ISP: Amazon Data Services Northern Virginia
  • Samples: 60
RunsOn (10x cheaper)
  • runs-on,family=i7ie
CPU speed
p50:2883
Queue time
p50:31.0s
Intel Xeon Platinum 8559C (x86_64)
  • Infra / ISP: Amazon Technologies Inc.
  • Samples: 31
Warpbuild (2x cheaper)
  • warp-ubuntu-2404-x64-2x
CPU speed
p50:2883
Queue time
p50:43.0s
AMD EPYC 9R14 (x86_64)
  • Infra / ISP: Amazon Data Services Northern Virginia
  • Samples: 3
RunsOn (10x cheaper)
  • runs-on,family=m7i
CPU speed
p50:2714
Queue time
p50:27.0s
Intel Xeon Platinum 8488C (x86_64)
  • Infra / ISP: Amazon Technologies Inc.
  • Samples: 29

CPU 2500+
GitHub
  • ubuntu-24.04
  • github24-16cpu-x64
CPU speed
p50:2359
Queue time
p50:5.0s
AMD EPYC 7763 64-Core Processor (x86_64)
  • Infra / ISP: Microsoft Corporation
  • Samples: 60

CPU 2000+
AWS CodeBuild
  • codebuild-ubuntu-8.0-medium
  • codebuild-ubuntu-8.0-large
  • codebuild-ubuntu-8.0-small
CPU speed
p50:1988
Queue time
p50:30.0s
Intel Xeon Platinum 8275CL CPU @ 3.00GHz (x86_64)
  • Infra / ISP: Amazon Technologies Inc.
  • Samples: 84
Namespace (~same price)
  • nscloud-ubuntu-24.04-arm64-2x8,namespace-features:linux-on-apple-silicon=true
CPU speed
p50:4125
Queue time
p50:13.0s
Apple M4 + Virtualization
  • Infra / ISP: Namespace Labs (might vary)
  • Samples: 29

CPU 4000+
Warpbuild (2x cheaper)
  • warp-ubuntu-2404-arm64-2x
CPU speed
p50:1944
Queue time
p50:19.0s
Neoverse-V2 (aarch64)
  • Infra / ISP: Amazon Technologies Inc.
  • Samples: 29
RunsOn (10x cheaper)
  • runs-on,family=r8g
  • runs-on,family=m8g
CPU speed
p50:1944
Queue time
p50:27.0s
Neoverse-V2 (aarch64)
  • Infra / ISP: Amazon Technologies Inc.
  • Samples: 58
GitHub
  • github24-2cpu-arm64
CPU speed
p50:1873
Queue time
p50:4.0s
Neoverse-N2 (aarch64)
  • Infra / ISP: Microsoft Corporation
  • Samples: 3
RunsOn (10x cheaper)
  • runs-on,family=m7g
CPU speed
p50:1557
Queue time
p50:27.0s
Neoverse-V1 (aarch64)
  • Infra / ISP: Amazon Data Services Northern Virginia
  • Samples: 29

CPU 1500+
GitHub
  • github24-2cpu-arm64
CPU speed
p50:1329
Queue time
p50:4.0s
Neoverse-N1 (aarch64)
  • Infra / ISP: Microsoft Corporation
  • Samples: 26
Blacksmith (2x cheaper)
  • blacksmith-2vcpu-ubuntu-2404-arm
CPU speed
p50:1322
Queue time
p50:19.0s
Neoverse-N1 (aarch64)
  • Infra / ISP: Hetzner Online GmbH
  • Samples: 29
Cirrus ($150/runner)
  • ghcr.io/cirruslabs/ubuntu-runner-arm64:24.04-md
CPU speed
p50:1332
Queue time
p50:43.0s
Neoverse-N1 (aarch64)
  • Infra / ISP: HOS-696102
  • Samples: 25
Ubicloud (10x cheaper)
  • ubicloud-standard-2-arm-ubuntu-2404
CPU speed
p50:1320
Queue time
p50:30.0s
Neoverse-N1 (aarch64)
  • Infra / ISP: HOS-1558733
  • Samples: 28
Namespace (2x cheaper)
  • nscloud-ubuntu-24.04-arm64-2x8
CPU speed
p50:1257
Queue time
p50:14.0s
Ampere-1a (aarch64)
  • Infra / ISP: Namespace Labs (might vary)
  • Samples: 12

Who has the fastest x64 runners?

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

Who has the fastest arm64 runners?

Namespace (with Apple M4 + Virtualization), followed by RunsOn and Warpbuild, since it uses latest AWS 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. Premium Ubicloud runners are more expensive but still 5x cheaper than GitHub.

  • Cirrus, Namespace, Blacksmith, Warpbuild, and some of Ubicloud’s runners fleet lead x64 performance with latest AMD CPUs. AWS-based providers are not as fast due to AWS being slow to adopt newer CPUs for x64 architecture. Hopefully some good news on that front in 2025?
  • Namespace recently added support for Linux arm64 runners on top of the Apple virtualization framework, and it’s the fastest arm64 runner, although pricey. It’s followed by RunsOn and Warpbuild with Graviton4 CPUs. Latest GitHub Actions Cobalt CPUs (only for some runs, and mostly for private repositories) not far behind.
  • GitHub uses older CPUs, especially for x64.
  • AWS CodeBuild instances are slower than GitHub and more expensive.
  • 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 is the most expensive option (except for public repositories).
  • RunsOn and Ubicloud (non-premium) are ~10x cheaper than GitHub.
  • AWS CodeBuild pricing isn’t competitive.
  • GitHub Actions runners are managed by GitHub, and run on Azure. If your CI runners require access to private resources hosted elsewhere, you might need to expose some credentials as GitHub Actions secrets (ideally setup OIDC connections).
  • RunsOn is fully self-hosted on your AWS infrastructure (with a dedicated GitHub App generated at runtime). You can also assign custom IAM policies to your runners so that you don’t need to pass any credentials around if you need access to other private AWS resources. Networking stack can also be fully customized according to your security preferences.
  • AWS CodeBuild is a managed service from AWS. You need to register with a shared GitHub App. Other than that, everything stays on your AWS account.
  • Namespace, Blacksmith, Cirrus, Warpbuild, Ubicloud, Depot are SaaS providers. You need to register with a shared GitHub App, and they manage the control plane entirely. Some allow you to self-host the runners in your own Cloud provider account, but the runner registration process (including the token generation, which gives access to the repository contents) are never under your control.

Missing from benchmark:

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

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