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
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
Setup with GitHub Actions
Point the benchmark job at a macro runner by replacing itsruns-on with the
label of the runner, and run the walltime
instrument:
- AMD Ryzen 9950X
- AWS Graviton
.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 oneresource_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