Uber

How Uber Deals with Large iOS App Size

Article Summary

Raj Barik, Milind Chabbi, and Jin Lin from Uber reveal how they slashed iOS app size by 23% using compiler magic. The secret? Machine code patterns follow a power-law distribution, just like human language.

Uber's iOS apps were hitting Apple's over-the-air download limits, causing a 10% drop in installations and 20% reduction in first-time bookings. The team discovered that instruction sequences in compiled code repeat frequently in predictable patterns, opening the door to aggressive optimization through a technique called machine outlining.

Key Takeaways

Critical Insight

By applying repeated machine outlining at the whole-program level instead of per-module, Uber reduced app size by 23% while actually improving performance by 3.4%.

Continue reading

The article reveals how Swift's try expressions create O(N²) code bloat and why the team had to fix LLVM's greedy algorithm to unlock maximum savings.

This page summarizes “How Uber Deals with Large iOS App Size” by Uber, published Feb 26, 2021. All credit for the original work goes to the authors.

Read the original on uber.com (opens in new tab)

AI tools for iOS

Browse all AI tools →