Zomato Aamir Anwar Sep 13, 2022

How We Improved Our iOS App Compile Time by 99%

Article Summary

Zomato's iOS team was stuck waiting 80 seconds for every incremental build. That's developer productivity bleeding out in real-time.

The Zomato engineering team documented their journey from painfully slow build times to sub-second incremental builds. They tackled everything from Xcode configuration to architectural changes across their entire iOS codebase.

Key Takeaways

Critical Insight

Zomato cut iOS build times by 99% through a combination of Xcode settings optimization, modular architecture, and eliminating unnecessary compilation work.

The article includes specific Xcode profiling commands and compiler flags you can use today to measure where your own build time is going.

About This Article

Problem

Zomato's iOS developers were stuck waiting 200 seconds for cold start builds. This slowed down iteration cycles across teams working in a fast-moving environment.

Solution

The team made several changes to Xcode's debug configuration. They disabled dsyms, switched to incremental compilation with optimizations enabled, and limited builds to active architectures only. These adjustments cut down on unnecessary compilation work.

Impact

Cold start builds dropped from 200 seconds to 95 seconds, a 52.5% improvement. Clean builds went from 170 seconds down to 81 seconds. The faster build times let developers iterate more quickly across the iOS organization.