TechCompare LogoTechCompare

Namespace runner benchmarks with profile-specific prices

Namespace uses custom profiles rather than a size encoded in the workflow label. The supplied account settings confirm that both Linux profiles use one vCPU and 2 GB of RAM, and the macOS profile uses six vCPUs and 14 GB. Those settings make it possible to price this snapshot without guessing a machine size from the benchmark score.

By TechCompare · Updated

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

Prepaid and overage are different rates

For each confirmed one-vCPU Linux profile, the prepaid equivalent is $0.001 per minute and the overage rate is $0.0015. For the confirmed six-vCPU macOS profile, the equivalents are $0.06 and $0.09. The pricing column shows overage rates. Open the row details for prepaid rates. These compute figures don't spread a plan fee across estimated usage and don't include storage charges.

Artifacts aren't volume cache hits

The supplied Namespace results include GitHub Actions cache and Namespace Artifacts. The latter uses native upload and download actions with finalization and exact artifact verification in a fresh job. It isn't a restore from a persistent volume snapshot. The default shows whichever tested backend has the higher combined save and restore score for that runner. Hover or open details to see the backend name and type. The selector also offers separate archive cache and artifact comparisons.

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
Namespace macOS arm64

Apple M4 Pro

46,338
3.1M/USD
948.7
39.6
79
0.01516
Namespace Linux x64

AMD EPYC (model hidden)

33,130
22.1M/USD
297.3
49.6
187.3
0.001564
Namespace Linux arm64

AmpereOne family (SKU undisclosed)

23,534
15.7M/USD
197.8
34.7
143.6
0.001532

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 Linux x64 guest exposes the AMD EPYC family without a model. Namespace documents AmpereOne for ordinary Linux ARM, while the macOS guest reports Apple M4 Pro. The tool labels provider-derived CPU mappings separately from model strings that the guest actually reported.

Verdict

Match CPU, RAM, operating system, and billing tier before comparing Namespace prices. The same number of vCPUs can have a different rate when memory or the platform multiplier changes. Account concurrency is a separate limit from one machine's maximum size.

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.