Short answer: pay for larger runners only after you have removed the minutes that should not exist (redundant runs, cold dependency installs) and only for the steps that actually scale with cores. For most small teams, cancelling superseded runs and caching come first, sharding second, and bigger machines last, because a machine with twice the cores almost never finishes a pipeline in half the time.
This post gives you a way to decide with your own numbers instead of a vendor's "up to Nx faster" claim. Pricing models vary by provider and change often, so I describe the shape of the costs rather than quoting rates. Check your provider's current price page for the per-minute multiplier before plugging numbers in.
Where do CI minutes actually go?
Before comparing options, split one representative run into phases. On GitHub Actions the per-step durations are visible in the run's log view; every other CI system has an equivalent.…