NordVPN Nov 29, 2023

Android Developers Blog: NordVPN boosted the speed of its login user flow by 60% using Baseline Profiles

Article Summary

NordVPN just made their Android app 60% faster in one critical flow. The fix? A performance feature most Android devs still aren't using.

The VPN provider integrated Android's Baseline Profiles to optimize their app's runtime performance. Using profile-guided optimization and ahead-of-time compilation, they targeted startup times and key user journeys that weren't meeting their standards.

Key Takeaways

Critical Insight

NordVPN achieved a 24% average launch speed improvement and 29% overall speed boost by implementing Baseline Profiles with minimal code changes.

The team's integration pipeline approach and automated profile generation strategy could be a blueprint for other apps chasing similar gains.

About This Article

Problem

NordVPN's Android app was slow to start. Cold starts took 4.3 seconds and warm starts took 2.7 seconds, both well above what the engineering team wanted. They needed to find a way to speed things up.

Solution

The team used Baseline Profiles with the Macrobenchmark library and Gradle managed devices. This let them generate profiles automatically for each release build without needing physical test devices.

Impact

Cold start time dropped to 3.2 seconds, warm start to 1.8 seconds, and hot start to 0.7 seconds. Overall launch speed improved by 24% across the app.

Related Articles