Optimizing Facebook for iOS start time
Nov 20, 2015Natansh Verma

Summary
This post details optimizations made to the Facebook for iOS app's start time, focusing on cold starts. Key contributions include: defining stable metrics for app start (from icon tap to feed loaded), breaking down cold start into request time, network time, and response processing time, identifying initialization as a bottleneck, refactoring feed request dependencies to allow concurrent initialization, implementing UDP priming to pre-fetch data and reduce TCP connection overhead, optimizing story fetching from a batch to a streaming approach (1+1+X), and deferring non-critical background services until after the feed is displayed to reduce contention.