Swiggy Manjunath Chandrashekar Dec 13, 2022

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

Critical Insight

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

The team's next target? Optimizing the pre-main phase by switching from dynamic to static frameworks.

About This Article

Problem

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.

Solution

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.

Impact

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.