Skip to content
Latchkey

How to Decide When a Bigger Runner Is Worth the Cost

A larger runner is worth it only when the speedup factor exceeds the cost multiplier: a 2x pricier runner must run more than 2x faster to save money.

Bigger runners are faster but cost more per minute. The decision is arithmetic: multiply duration by per-minute price for each option and compare total cost, then factor in how much faster feedback is worth to you.

The break-even rule

If a runner costs M times more per minute and runs the job in 1/S of the time (speedup S), total cost changes by M / S. When S > M you save both time and money. When M < S < ... you spend more but get faster feedback, which can still be worth it for PR checks.

Measure the speedup first

Terminal
# Run the same job on two sizes and compare durations from the API
gh run list --workflow ci.yml --limit 20 --json databaseId,conclusion,createdAt,updatedAt
# Or time a build locally with the parallelism the larger runner would allow
time cargo build --release -j 8

Where it usually pays off

Highly parallel test suites, native compiles (Rust, C++, large TypeScript), and Docker builds with many layers tend to scale well with cores and justify a larger runner. Deploys, lint, and network-bound jobs rarely do.

Related guides

Run this faster and cheaper on Latchkey managed runners. Start free →