TechCompare LogoTechCompare

Avrea runner benchmarks: CPU, disk, cache, and price

Avrea appears in this snapshot with Linux x64, Linux ARM64, Windows x64, and macOS ARM64. The requested Linux runners each have one vCPU, while Windows has two and macOS has eight. The suite still runs just one execution thread on every machine, so these results answer a question about single thread behavior rather than total machine throughput.

By TechCompare · Updated

Measured configurations
4
CPU execution threads
1
Five accepted samples per runner

Match the rate to the requested runner

The measured Linux x64 label requests one vCPU at $0.002 per minute. Linux ARM requests one vCPU at $0.006 per minute. Windows requests two vCPUs at $0.008 per minute, and the macOS label requests eight at $0.08 per minute. Dividing by those billed sizes gives the normalized rate, but it doesn't turn a one-thread benchmark into a score for all eight macOS vCPUs.

Choose a size for your actual workload

The published families reach 32 vCPUs on Linux x64 and 16 on Linux ARM, Windows, and macOS. Those larger sizes haven't been measured in this snapshot. A parallel test suite might benefit from more workers, while a serial build step might mainly benefit from CPU speed. Before moving a workflow, measure the complete job at the size you intend to buy and include dependency installation and cache traffic.

Calculator

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 threadCPU valueDiskCacheInternetCost/vCPU/minUSDMax vCPU
Avrea Linux arm64

Apple M5 Max

52,794
8.8M/USD
1,239.3
220.8
18.8
0.00616
Avrea macOS arm64

Apple M5 Max

52,014
5.2M/USD
1,022
251.6
21.2
0.0116
Avrea Linux x64

AMD EPYC 4585PX 16-Core

43,680
21.8M/USD
864.5
103.8
921.7
0.00232
Avrea Windows x64

AMD EPYC 4585PX 16-Core

31,647
7.9M/USD
335.3
17.6
823
0.00416

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

Measurement context

The x64 and Windows guests report AMD EPYC 4585PX. The macOS guest reports Apple M5 Max, and Avrea identifies its Linux ARM family as M5 Max in the pricing documentation. That last mapping is provider documentation rather than a complete CPU model string from the Linux guest.

Verdict

The table shows Linux, Windows, and macOS together. Check the sample range as well as the median in each row's details. A fast median with a wider range can matter when a single slow job holds up a pull request.

More runner benchmark scenarios

Frequently asked questions

Are these independent GitHub Actions runner benchmarks?
TechCompare publishes measurements from its own runner benchmark suite. The results come from the supplied published reports, while provider documentation supplies hardware mappings, prices, and available sizes. Scores from provider marketing pages aren't used as test results.
Does a CoreMark score predict my build time?
No. CoreMark is a CPU microbenchmark running one execution thread. A full build also depends on parallelism, memory, disk, dependencies, cache behavior, and queue time. This snapshot doesn't measure complete application builds or queue delays.
How are disk, cache, and internet scores calculated?
Each score is a geometric mean of that runner's own measurements. Disk combines sequential read/write MiB/s with random read/write IOPS converted to MiB/s using the 4 KiB operation size. Cache combines save and restore MiB/s from one backend. By default, each runner uses its highest verified score across tested cache and artifact backends. Hover or open details to see the backend, or select a specific backend type. Internet combines available download and upload Mbps, or uses the single recorded direction. Protocol 7 reports speeds from actual payload bytes and elapsed time, including transfers that reach the time limit. Older timeout records use recorded bytes divided by the nominal limit. These fixed formulas have no ranking reference or upper score limit, so adding a faster runner doesn't change existing scores. CPU keeps its measured CoreMark iterations per second.
How is price per minute per vCPU calculated?
A fixed runner's quoted minute rate is divided by its billed vCPU count. Prices are shown in USD and are list or overage rates before allowances and extras. RunJob publishes EUR consumed CPU rates, which are converted using the dated ECB reference rate shown on the page. Its original rate stays in the details, and memory charges are additional. GitHub uses private standard rates, and Namespace shows overage with prepaid equivalents.
What does CPU value mean?
CPU value is the measured single thread CoreMark score divided by the USD cost per vCPU per minute. More billed vCPUs don't multiply the measured score. EUR compute rates are converted before calculating value, so every provider is in one USD ranking. K means thousand and M means million. Optional disk, cache, and internet value columns use the same score divided by rate formula. These ratios don't measure full build performance or predict the final bill.
Why is an exact CPU model sometimes missing?
Some virtual machines expose only AMD EPYC or aarch64. The table uses a provider mapping where documentation identifies a family, labels that evidence, and leaves undisclosed model numbers unconfirmed. Similar benchmark scores aren't enough to identify a processor.
Are missing tests counted as zero?
No. Internet transfers with a nonzero recorded byte count can supply a speed even if they reach the time limit. A blocked request or a timeout with no recorded bytes stays unscored. Disk uses verified sample medians with all four throughput components. The updated BuildPulse ARM disk result is included using its three completed samples, with the original counts in the details. Cache requires all three verified save and restore pairs. The table shows a dash when no score is available. Hover or open the row details to inspect the measurements.