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).

StepApple's buildQuickfireResult
First build (Quickfire maps the app)7 min 10 s10 min 31 s47% slower
Build with no changes12 s5 s2.5x faster
Small edit inside a function body2 min 28 s15 s9.7x faster
Switch between two feature branches12 min1 min 11 s1.7x faster
Large change across many files22 min 51 s4 min 2 s42% slower
21 real commits in a row, median build32 min 36 s44 s3.5x faster (median)
  1. 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.
  2. 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.
  3. 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.