How we think about Threads’ iOS performance
Article Summary
Meta's Threads hit 100M users in 5 days, then scaled to 300M monthly users. How did the iOS team keep performance from collapsing under hypergrowth?
The Threads iOS team shares their performance philosophy after a year of explosive growth. They reveal the metrics they obsess over, the tools they built to measure what matters, and real case studies on improving publish reliability and navigation speed.
Key Takeaways
- Built SLATE tool to automatically measure navigation latency across all app surfaces
- Reduced bug reports by 26% after adding Drafts feature for posting resilience
- Fixing disk storage bug improved DAU by 0.21% and original posts by 0.76%
- App binary is 1/4 the size of Instagram and compiles 2x faster
- GraphQL migration validated through side by side testing showed no latency regression
Meta's Threads team maintains sub-second performance at 300M users by obsessively measuring three core metrics: image render frustration, time to network content, and publish success rate.
About This Article
We didn't know how fast navigation was across profile views, conversation threads, and activity feeds. This made it hard to figure out where to focus performance work as Threads' user base grew quickly.
Dave LaMacchia's team ran a boundary test that added controlled latency to key navigation surfaces. They then used the SLATE systemic latency logger to automatically measure end-to-end rendering time across all UI surfaces.
The boundary test showed that even small latency increases from 0.12s to 0.19s caused real user disengagement. Conversation view latency reduced foreground sessions by up to 0.81% and conversation views by 1.63%.