Grab Nov 18, 2021

Journey to a Faster Everyday Super App

Article Summary

Grab cut app startup time by 60% while shipping dozens of new features. Here's how they did it without compromising velocity.

Renu Yadav from Grab's engineering team breaks down their systematic approach to performance optimization in 2019. They measured real-world performance across 8-9 million daily users, focusing on Time to Interactive as their north star metric.

Key Takeaways

Critical Insight

The optimizations saved users 21,388 hours daily on iOS and 38,194 hours on Android through systematic measurement and architectural improvements.

Their open-source CocoaPods Merge plugin and ApplicationInitializer pattern are worth exploring if you're battling startup time issues.

About This Article

Problem

Android's app startup was slow because multiple libraries initialized one after another and blocked the main thread. A deprecated third-party analytics library was particularly problematic, performing too many user attribute operations.

Solution

Renu Yadav's team refactored the Android initialization process using coroutines to run library startup in parallel. They also replaced the analytics library with Grab's in-house experimentation platform.

Impact

Android startup time improved by 0.4 seconds from the coroutines work and another 2.5 seconds from switching analytics libraries. iOS saw gains of 0.5 to 0.7 seconds from the same library replacement.

Recent from Grab

Related Articles