TechCompare LogoTechCompare

GitHub Actions runners with the best single thread CPU

Avrea Linux arm64 leads the measured results at 52,794 iterations/s. 26 of 26 configurations have a score. This ranks the imported tests, not full workflow runtime.

A serial build step can keep an entire workflow waiting even when the machine has spare cores. This ranking compares how quickly one execution thread completes the same CoreMark workload on the runners in our independent benchmark. It includes all tested operating systems and binary architectures, with the highest measured median first. The leaders below come directly from the current imported results.

By TechCompare · Updated

Scored configurations
26 / 26
Every tested platform included
Ranking
Highest score first
Fixed benchmark formula

Current leaders

  1. #1

    Avrea Linux arm64

    Apple M5 Max

    52,794 iterations/s

    $0.006/vCPU/min

  2. #2

    Avrea macOS arm64

    Apple M5 Max

    52,014 iterations/s

    $0.01/vCPU/min

  3. #3

    Namespace macOS arm64

    Apple M4 Pro

    46,338 iterations/s

    $0.015/vCPU/min

Results imported 2026-10-10. Pricing checked 2026-10-10. Higher is better. All operating systems and architectures are included. Prices and value use USD. RunJob's EUR rate is converted at €1 = $1.1206 (ECB, 2026-10-09).

Calculator

Ranked runner results

GitHub Actions runner CPU models, single thread CPU scores, disk, cache, and internet scores, and value per USD compute cost. Missing tests have no score.
RunnerCPUSingle threadCost/vCPU/minUSDMax vCPU
Avrea Linux arm64

Apple M5 Max

52,794
0.00616
Avrea macOS arm64

Apple M5 Max

52,014
0.0116
Namespace macOS arm64

Apple M4 Pro

46,338
0.01516
Blacksmith Linux x64

AMD EPYC (model hidden)

45,851
0.00232
Avrea Linux x64

AMD EPYC 4585PX 16-Core

43,680
0.00232
BuildPulse Linux x64

AMD EPYC 9R45

43,146
0.00264
Blacksmith macOS arm64

Apple M4 Pro

41,001
0.013312
Blacksmith Windows x64

AMD EPYC 4565P 16-Core

40,527
0.00432
StarSling Linux x64

AMD EPYC (model hidden)

38,218
0.00264
Ubicloud Linux x64

AMD Ryzen 9 7950X3D 16-Core

33,393
0.00130
Namespace Linux x64

AMD EPYC (model hidden)

33,130
0.001564
BuildPulse Linux arm64

AWS Graviton (gen undisclosed)

33,116
0.001364
GitHub macOS arm64

Apple M2 Pro

32,583
0.02075
GitHub Linux arm64

Microsoft Cobalt 100

31,687
0.002564
Avrea Windows x64

AMD EPYC 4585PX 16-Core

31,647
0.00416
GitHub Linux x64

AMD EPYC 9V74 80-Core

31,133
0.00396
Latchkey Linux x64

AMD EPYC 7R13

30,065
0.001316
Blacksmith Linux arm64

ARM64 (model undisclosed)

27,191
0.001332
GitHub Linux x86

AMD EPYC 7763 64-Core

25,491
0.00396
Namespace Linux arm64

AmpereOne family (SKU undisclosed)

23,534
0.001532
GitHub Windows arm64

Cobalt 100

22,553
0.00564
Ubicloud Linux arm64

Ampere Altra Q80-30

21,630
0.000630
GitHub Windows x64

AMD EPYC 7763 64-Core

18,327
0.00596
RunJob Linux x64

AMD EPYC 7502 32-Core

17,973
0.001348
GitHub Windows x86

AMD EPYC 7763 64-Core

15,003
0.00596
GitHub macOS x64

Intel Core i7-8700B

8,375
0.015512

Single thread CPU: CoreMark iterations/s. Disk and cache: composite MiB/s. Internet: composite Mbps. Value: score ÷ USD cost/vCPU/min. K means thousand, M means million. Higher is better. Cache uses each runner's best tested cache or artifact backend. Limits: maximum runner vCPU. Prices and value use USD. RunJob's EUR rate is converted at €1 = $1.1206 (ECB, 2026-10-09).

Open the full GitHub Actions runner benchmark tool

How the CPU ranking is calculated

The CPU column is the median CoreMark iterations per second across five accepted samples. Higher is better. Each runner uses one execution thread, regardless of its requested vCPU count. The ranking does not multiply by cores, blend in disk performance, or rescale the score against the fastest machine. Adding a new result can change a runner's position without changing its measured score. The table and the leader summary use that same calculation.

Use the CPU model as context

The runner column shows the researched CPU model beneath the provider and platform. Some guests expose a full model string, while others reveal only a family or architecture. A provider mapping is kept distinct from a model reported by the guest. Open the full benchmark tool to inspect that evidence and the exact workflow tag. A similar score is not proof that two providers use the same processor.

When another ranking is more useful

Parallel compilation can depend on the available vCPUs and memory, while dependency installation can spend much of its time waiting for disk, cache, or internet traffic. Those stages have their own ranking pages. CPU value adds the quoted rate to this single thread measurement. None of these pages measures queue time or a complete repository build, so use them to choose candidates for a workflow trial.

Measurement context

CPU speed depends on more than the processor name. The guest operating system, compiler, optimization flags, and CPU affinity all affect this test. Linux and Windows pin the execution thread to one logical CPU. macOS uses one unpinned thread that can migrate. The table includes those results together, while the full tool exposes the sample range, variation, and compiler for each configuration.

Verdict

Start with a runner near the top if serial CPU work is your main delay, then time your own build on the required platform. A high CoreMark score is useful evidence for one kind of CPU work. It does not establish the shortest complete workflow or the lowest bill.

More runner benchmark scenarios

Frequently asked questions

Which runner currently leads for single thread CPU performance?
Avrea Linux arm64 leads the measured results at 52,794 iterations/s. 26 of 26 configurations have a score. This ranks the imported tests, not full workflow runtime.
Do these runner rankings update automatically?
Yes. The rankings, leaders, counts, table, and structured data are calculated from the shared benchmark dataset, researched pricing, and saved exchange rate during each site build. The prebuild refreshes the ECB exchange rate and keeps the dated saved rate if the fetch fails. Importing new results or updating prices changes the next build. They do not fetch live measurements or provider prices while you browse.
Are all operating systems and architectures included?
Yes. These pages include every imported Linux, Windows, and macOS configuration, including x64, ARM64, and 32-bit x86 binaries. The full tool lets you narrow the platform or provider. Operating system, compiler, and affinity differences remain part of each measured result.
Does a missing result mean a runner scored zero?
No. Missing or unusable measurements stay unscored and appear after scored results. Value also requires a positive quoted cost per vCPU per minute. A missing test does not establish that a runner is slow.