Skip to content
Latchkey

How to Benchmark GitHub Actions Runners (Speed & Cost)

Vendor benchmarks are easy to game. Here is how to run your own apples-to-apples comparison on your real builds.

The only benchmark that matters is your pipeline. Synthetic numbers rarely match your workload. Use this methodology to measure runners fairly on the metrics that affect your bill and your developers.

MetricWhat to measureWhy it matters
Wall-clock job timeMedian over 20+ runs of your real jobDeveloper wait time
Queue/cold-start timeTime from trigger to first stepHidden latency
Cost per runMinutes x per-minute rateThe actual bill
Cache hit rate% of runs restoring cacheBiggest speed lever
Flaky-failure rate% of runs failing transientlyWasted re-run minutes

Control the variables

  • Same commit, same cache state, same time of day.
  • Run 20+ iterations and take the median, not the best.
  • Measure cost per run, not just speed - a fast premium runner can be the expensive choice.

Do not forget reliability

A runner that is 10% faster but fails transiently 15% of the time is slower in practice once you count re-runs. Factor flaky-failure rate into the comparison - self-healing runners score well here because they recover automatically.

The verdict

Benchmark on your own builds, over many runs, on speed AND cost AND reliability. Latchkey is built to win the reliability and cost axes - measure it against your pipeline.

Related guides

References

Cut runner spend by up to 70% with Latchkey managed runners and self-healing. Start free → 30-day trial · No credit card