Benchmarks
How we measure Quickfire against Apple's build, with every number, including where it's slower.
Method
- Xcode 27.1, iOS Simulator, Debug configuration, on a MacBook Pro, M3 Pro, 36 GB.
- A large production app with 1,000+ Swift files. Both builds on the same Mac, under the same conditions, taking turns.
- Apple's build is
xcodebuild, then installing and launching the app in the Simulator. Quickfire is its one command, which does the same three steps. - Each time is the median of repeated runs. Every step is reported, including the ones where Quickfire is slower.
Results
Every row is the same large production app with 1,000+ Swift files (a private app, not IceCubes).
| Step | Apple's build | Quickfire | Result |
|---|---|---|---|
| First build (Quickfire maps the app) | 7 min 10 s | 10 min 31 s | 47% slower |
| Build with no changes | 12 s | 5 s | 2.5x faster |
| Small edit inside a function body | 2 min 28 s | 15 s | 9.7x faster |
| Switch between two feature branches1 | 2 min | 1 min 11 s | 1.7x faster |
| Large change across many files2 | 2 min 51 s | 4 min 2 s | 42% slower |
| 21 real commits in a row, median build3 | 2 min 36 s | 44 s | 3.5x faster (median) |
- Two real feature branches of the app, switched back and forth. The first time each branch is built, Quickfire is slower than Apple's build while it maps it; the times above are the switches after that.
- A large merge: 464 Swift files differ. Quickfire was a little faster in one direction and much slower in the other. We're working on it.
- Consecutive commits from the app's real history. Quickfire was faster on 15, about the same on 1 and slower on 5. The slower ones change declarations across several files. Over the whole run: 1 h 4 min with Apple's build, 46 min 56 s with Quickfire (1.4x faster).
We're still improving Quickfire, so these numbers will change. When they do, we'll update this page.
Correctness
We took the last 38 commits of IceCubes, an open-source app, built each one both ways and compared every file the two builds produced. 36 were identical, byte for byte. One differed only in how the compiler grouped files, with the same code inside. On one, Quickfire wasn't sure a shortcut was safe and ran Apple's build. None had stale code.
IceCubes is for checking correctness only, not speed. It's a mid-size app whose builds already take seconds, and Quickfire doesn't make it meaningfully faster yet.