Skip to main content
CodSpeed Macro Runners are dedicated bare-metal machines managed by CodSpeed that provide a stable, isolated environment for running your benchmarks. Unlike traditional CI runners, macro runners eliminate noise from virtualization and shared resources, enabling precise walltime measurements with low variance.

What are Macro Runners?

Macro runners are bare-metal machines specifically optimized for consistency in performance measurements. They complement CodSpeed’s CPU simulation by providing an environment where walltime measurements are reliable and reproducible.

When to Use Macro Runners

Macro runners are ideal when you need to measure:
  • System calls and I/O operations that are excluded from the CPU Simulation instrument
  • End-to-end performance including network, disk, and system interactions
  • Walltime benchmarks where actual execution time matters
  • Integration tests that require a complete system environment
CPU Simulation vs Walltime with Macro RunnersUse the CPU Simulation instrument for pure algorithmic performance and the Walltime instrument with Macro Runners for system-level performance that includes I/O operations.
Two families of machines are available, selected by the label of the benchmark job. A run is comparable to the baseline it is reported against only if both were measured on the same machine, so keep a benchmark job on one label over time: switching shifts the measurements of every benchmark of the job.

Runners

AMD Ryzen 9950X (x86_64)

Label: codspeed-macro-x86-ryzen-9950x-ubuntu-24-04 Specs: AMD Ryzen 9 9950X, 16 cores / 32 threads, bare metal, 192 GB DDR5, 1 TB NVMe, Ubuntu 24.04

AWS Graviton (arm64)

Label: codspeed-macro Specs: AWS Graviton, 16 cores, bare metal, 32 GB RAM, 80 GB EBS, Ubuntu 22.04
Included Free MinutesEvery plan includes 600 free minutes per month of this runner.Open Source ProjectsCodSpeed supports open source projects with free minutes beyond the 600 per month. To benefit from this sponsorship, contact us with details about your project.

Setup with GitHub Actions

Point the benchmark job at a macro runner by replacing its runs-on with the label of the runner, and run the walltime instrument:
.github/workflows/codspeed.yml

Macro Runners on GitHub Actions

Prerequisites, workflow setup and repository access

Setup with CircleCI

On CircleCI, a macro runner is a self-hosted runner resource class that CodSpeed creates and operates in your CircleCI organization. Setting it up takes one CircleCI personal API token and one resource_class line on the benchmark job.

Macro Runners on CircleCI

Run the benchmark jobs of your CircleCI pipelines on macro runners

Next Steps

Walltime Instrument

Learn how to use the walltime instrument with macro runners

Understanding Metrics

Interpret your walltime benchmark results

Performance Checks

Set up automated performance regression detection

Pricing Details

View detailed pricing and plan options