1.7x
faster than CircleCI Large, both 4 vCPU
61%
less per build than on Large, at the least
73%
less per Docker build than on Large Gen 2
It is easy to pick a CircleCI resource class once and never think about it again. large is the default 4 vCPU machine, it works, and the bill is just the bill.
So here is the question this post answers: what happens if you keep the pipeline exactly as it is and swap only the machine underneath it?
CircleCI supports that out of the box through its self-hosted runner. Your config, contexts, approvals and test insights all stay in CircleCI. Only the job itself lands somewhere else, and here that somewhere is a BuildPulse x64-4x.
We took three real open-source builds, pinned every version, and ran each one 10 times on CircleCI's Large, 10 times on its newer Large Gen 2, and 10 times on BuildPulse. All three machines are 4 vCPU, and every run was in production on October 13, 2026. They are the same workloads behind our GitHub Actions benchmark, and the CircleCI config, the script that writes it and every run's time are in github.com/buildpulse/runner-benchmarks, so you can check our work.
The race
These are the median job times, straight from CircleCI's own job timer. Press play and the three machines run side by side, sped up but kept in proportion, so the gaps you see are the real gaps:
Median job time, replayed to scale
Docker image build hugo's own Dockerfile, no cache
1.8x faster than Large
CircleCI Large
229.3 s
CircleCI Large Gen 2
175.4 s
BuildPulse x64-4x
129.2 s
Node install, build and tests vuejs/core, pinned
1.7x faster than Large
CircleCI Large
80.9 s
CircleCI Large Gen 2
57.4 s
BuildPulse x64-4x
47.8 s
Go compile hugo, pinned
1.7x faster than Large
CircleCI Large
60.3 s
CircleCI Large Gen 2
40 s
BuildPulse x64-4x
35.5 s
The Docker build is the one to watch. On Large it took 3 min 49 s. On BuildPulse it took 2 min 9 s, 1.8x faster. Node and Go told the same story, and across the three builds BuildPulse finished 1.7x to 1.8x faster than Large.
Large Gen 2 is CircleCI's answer to slow builds, and it is quicker than Large. It also costs 36 credits a minute instead of 20. BuildPulse still came out ahead on every build, 1.1x to 1.4x faster.
Straight from CircleCI
The animation is built from CircleCI's numbers, but you should not have to take an animation's word for it. Here is round 1 of the Docker build in CircleCI's own UI, first on Large and then on BuildPulse. Look at the time under each job name, and at the line the toolchain step printed:
Where the speed comes from
There is no trick in the config. Most of the gap is the chip, and every job printed the one it ran on. Here are all three:
CircleCI Large
Intel Xeon Platinum 8375C
Ice LakeCircleCI Large Gen 2
AMD EPYC 9R14
Zen 4BuildPulse x64-4x
AMD EPYC 9R45
Zen 5, newestCircleCI's Large runs on Intel's Ice Lake, a server generation from 2021. Gen 2 moves up to AMD's Zen 4. BuildPulse machines run on Zen 5, the newest server generation AMD makes. Installs, compiles and image builds lean hard on per-core speed, so a newer core shows up directly in the job time.
What one build costs
Faster is nice. Cheaper is the part someone eventually asks about.
CircleCI bills in credits. Large is 20 credits a minute and Gen 2 is 36, at $0.0006 a credit, which works out to $0.012 and $0.0216 a minute. A job on a self-hosted runner uses no CircleCI credits for its run time, so a BuildPulse minute is our rate and nothing else: $0.008.
Multiply each machine's median time by its price per minute and you get the cost of a single build:
| Workload | CircleCI Large | CircleCI Large Gen 2 | BuildPulse x64-4x | Less than CircleCI Large | Less than CircleCI Large Gen 2 |
|---|---|---|---|---|---|
| Docker image build | $0.0459 | $0.0631 | $0.0172 | 62% | 73% |
| Node install, build and tests | $0.0162 | $0.0207 | $0.0064 | 61% | 69% |
| Go compile | $0.0121 | $0.0144 | $0.0047 | 61% | 67% |
The two savings stack. You pay less for each minute, and you use fewer minutes. One build comes out 61% to 62% cheaper than on Large and 67% to 73% cheaper than on Gen 2. Put another way, every $100 you spend on Docker builds on Large becomes about $38 on BuildPulse. For Node it is $39, and for Go $39.
Drag the slider to your own build volume:
Your month
5,000 builds a month
CircleCI Large
$229
BuildPulse x64-4x
$86
A year on BuildPulse
$1,718kept, 62% of the bill
and 139 fewer hours of builds every month.
Median benchmark time at each side's list price per minute, before any free allowance.
Two CircleCI rules still apply on a self-hosted runner, and they are worth knowing before you move anything. Restoring caches and workspaces counts as network transfer, at 420 credits per GB once you pass your plan's allowance (persisting data). These builds restore no cache, so they paid none. CircleCI also limits how many self-hosted jobs run at once: 5 on Free, 20 on Performance, unlimited on Scale.
Try it on one job
You do not have to move a whole pipeline to find out whether this holds for your builds. Create a resource class in CircleCI, paste its token into BuildPulse, and change two lines on one job:
.circleci/config.yml
jobs: build:- machine:- image: ubuntu-2404:current- resource_class: large+ machine: true+ resource_class: your-namespace/bp-x64-4x
That job now runs on BuildPulse, and everything else stays where it was. Each job gets a fresh machine, usually running in under a minute. If your numbers look like ours, move the next job. The full rate table, with a monthly bill next to CircleCI's, is on buildpulse.io/pricing, and every class side by side is on BuildPulse vs CircleCI machines.
How we measured
- The same jobs: vuejs/core v3.5.13 (install, build, unit tests), hugo v0.139.3 (Go compile) and hugo's own Dockerfile at the same tag, with no cache.
- The same toolchain: Node 20.18.1 and Go 1.23.4, installed from the same tarballs on every machine, so the machine is the only thing that changes.
- 10 runs per machine, one after another so no two runs competed, medians reported.
- CircleCI's clock, not ours: job time is CircleCI's own job duration, the number its bill is based on.
Think something is off, or seeing different numbers on your own builds? Open an issue and tell us.
CircleCI prices from CircleCI pricing and its price list, checked October 5, 2026.

