Swiggy's iOS App Now Loads 12 Times Faster
Article Summary
Swiggy's iOS app was taking forever to launch. Their mobile team spent 3 months hunting down bottlenecks and achieved a 12x improvement in cold start time.
The Swiggy engineering team profiled their iOS app launch performance and discovered 90% of the delay happened post-main. They used Firebase Performance SDK and XCode instruments to identify exactly where time was being wasted, then systematically fixed each issue.
Key Takeaways
- Cold start time improved 12x through lazy initialization of singletons
- Moved config loading from sync to async operations
- 90% of launch time was post-main, only 10% pre-main
- App launch to listing conversions increased by 1.2%
- Firebase Performance SDK provided real-time monitoring across all users
By focusing on post-main optimizations like lazy loading and async configs, Swiggy reduced iOS cold start time by 12x and improved conversion rates by 1.2%.
About This Article
Swiggy's iOS app had slow cold starts. The team broke this down into two phases: pre-main, which handled dynamic library loading and Objective-C runtime setup, and post-main, which covered module and cache initialization. They needed to figure out which phase was actually eating up the startup time.
The team profiled the app using XCode time profiling and XCode instruments, then combined that data with Firebase Performance SDK to track real-time performance across their user base. The results showed that 90% of the delay was happening in the post-main phase, not pre-main.
The team achieved a 12x improvement in cold start time. They also saw a 1.2% increase in conversions from app launch to the listing screen, which meant faster load times were keeping more users engaged and reducing drop-offs during onboarding.