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.

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.

CPU Performance (p50) vs. Queue Time (p50QueueTime) - x64

< 40s< 35s< 30s< 25s< 20s< 15s< 10s< 5s0sp50QueueTime (seconds) 1400160018002000220024002600280030003200340036003800400042004400p50 (Passmark) CirrusAWS CodeBuildAWS CodeBuildWarpbuildBlacksmithGitHubGitHubUbicloudUbicloudBuildjetNamespaceRunsOnRunsOnRunsOnRunsOn Providers RunsOnGitHubOther Providers

Queue times (X-axis) closer to < 10s and higher CPU scores (Y-axis) are better (not considering price, reliability, privacy, etc.).

Detailed results

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
3877 | 4012 10 | 11 AMD EPYC (x86_64) Namespace Labs (might vary) 31
Ubicloud (10x cheaper, SaaS)
  • ubicloud-premium-2-ubuntu-2204
  • ubicloud-standard-2
3807 | 3966 31 | 62 AMD Ryzen 9 7950X3D 16-Core Processor (x86_64) HOS-1558733 33
Blacksmith (2x cheaper, SaaS)
  • blacksmith-2vcpu-ubuntu-2204
3797 | 3911 21 | 23 AMD EPYC (x86_64) Hetzner Online GmbH 31
Warpbuild (2x cheaper, SaaS)
  • warp-ubuntu-2204-x64-2x
3744 | 3898 28 | 42 AMD Ryzen 9 7950X3D 16-Core Processor (x86_64) Hetzner Online GmbH 28
Buildjet (2x cheaper, SaaS)
  • buildjet-2vcpu-ubuntu-2204
3731 | 3909 17 | 23 AMD Ryzen 9 7950X3D 16-Core Processor (x86_64) Hetzner Online GmbH 7
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=r7iz
3072 | 3078 24 | 34 Intel Xeon Gold 6455B (x86_64) Amazon Technologies Inc. 30
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=i7ie
3053 | 3141 28 | 34 Intel Xeon Platinum 8559C (x86_64) Amazon Data Services NoVa 30
Ubicloud (10x cheaper, SaaS)
  • ubicloud-standard-2
2921 | 2946 12 | 41 AMD EPYC 9454P 48-Core Processor (x86_64) HOS-1558733 20
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=m7a
  • runs-on,family=c7a
2876 | 2879 24 | 44 AMD EPYC 9R14 (x86_64) Amazon Technologies Inc. 60
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=m7i
2785 | 2953 24 | 29 Intel Xeon Platinum 8488C (x86_64) Amazon Data Services NoVa 30
Cirrus ($150/runner, SaaS)
  • ghcr.io/cirruslabs/ubuntu-runner-amd64:22.04-md
2591 | 3172 15 | 85 Intel Xeon Gold 5412U (x86_64) HOS-696102 29
GitHub
  • github-16cpu-x64
2370 | 2373 4 | 5 AMD EPYC 7763 64-Core Processor (x86_64) (custom) Microsoft Corporation 30
GitHub
  • ubuntu-22.04
2301 | 2305 8 | 10 AMD EPYC 7763 64-Core Processor (x86_64) Microsoft Limited 31
AWS CodeBuild
  • codebuild-ubuntu-7.0-large
  • codebuild-ubuntu-7.0-small
  • codebuild-ubuntu-7.0-medium
2099 | 2143 23 | 27 Intel Xeon Platinum 8275CL CPU @ 3.00GHz (x86_64) Amazon Technologies Inc. 72
AWS CodeBuild
  • codebuild-ubuntu-7.0-medium
  • codebuild-ubuntu-7.0-large
  • codebuild-ubuntu-7.0-small
1998 | 2018 23 | 31 Intel Xeon Platinum 8124M CPU @ 3.00GHz (x86_64) Amazon Technologies Inc. 20
Depot (2x cheaper, SaaS)
  • N/A
N/A N/A N/A Amazon.com 0

CPU Performance (p50) vs. Queue Time (p50QueueTime) - arm64

< 90s< 80s< 70s< 60s< 50s< 40s< 30s< 20s< 10s0sp50QueueTime (seconds) 80010001200140016001800200022002400p50 (Passmark) CirrusBuildjetBlacksmithUbicloudGitHubWarpbuildNamespaceRunsOnRunsOn Providers RunsOnGitHubOther Providers

Queue times (X-axis) closer to < 10s and higher CPU scores (Y-axis) are better (not considering price, reliability, privacy, etc.).

Detailed results

Provider CPU speed
(p50 | p90)
Queue time (s)
(p50 | p90 | max)
Processor Infra / ISP Samples
Warpbuild (2x cheaper, SaaS)
  • warp-ubuntu-2204-arm64-2x
1935 | 1937 18 | 26 Neoverse-V2 (aarch64) Amazon Technologies Inc. 30
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=m8g
  • runs-on,family=r8g
1931 | 1933 23 | 39 Neoverse-V2 (aarch64) Amazon Data Services NoVa 62
RunsOn (10x cheaper - self-hosted)
  • runs-on,family=m7g
1542 | 1547 23 | 26 (aarch64) Amazon Data Services NoVa 31
Cirrus ($150/runner, SaaS)
  • ghcr.io/cirruslabs/ubuntu-runner-arm64:22.04-md
1325 | 1327 77 | 102 Neoverse-N1 (aarch64) HOS-696102 30
Buildjet (2x cheaper, SaaS)
  • buildjet-2vcpu-ubuntu-2204-arm
1323 | 1325 31 | 33 Neoverse-N1 (aarch64) Hetzner Online GmbH 30
GitHub
  • github-2cpu-arm64
1318 | 1320 4 | 4 Neoverse-N1 (aarch64) Microsoft Corporation 27
Blacksmith (2x cheaper, SaaS)
  • blacksmith-2vcpu-ubuntu-2204-arm
1311 | 1316 22 | 24 Neoverse-N1 (aarch64) Hetzner Online GmbH 30
Ubicloud (10x cheaper, SaaS)
  • ubicloud-standard-2-arm
1309 | 1316 12 | 38 Neoverse-N1 (aarch64) HOS-1558733 30
Namespace (2x cheaper, SaaS)
  • nscloud-ubuntu-22.04-arm64-2x8
1265 | 1271 13 | 15 (aarch64) Namespace Labs (might vary) 30
Depot (2x cheaper, SaaS)
  • N/A
N/A N/A N/A Amazon.com 0

Who has the fastest x64 runners?

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

Who has the fastest arm64 runners?

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.

  • 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?
  • RunsOn and Warpbuild lead arm64 performance with Graviton4. Latest GitHub Actions Cobalt CPUs (only for some runs, and mostly for private repositories) not far behind.
  • GitHub uses older CPUs, especially for x64. Their arm64 is better but limited availability.
  • 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 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 January 2025. Things change quickly in this space, so make sure you do your own research as well.