Android Search Performance Improvements (Part 1)
Article Summary
Yelp users were literally grunting while waiting for search results to load. That's when the Android team knew they had a performance problem.
Yelp's Android team tackled search performance by breaking it into two categories: perceived search performance (time to first result) and scroll performance (maintaining 60fps). This first part of their series focuses on establishing baseline metrics before optimization.
Key Takeaways
- Reduced perceived search rendering time from 350ms to 190ms at p50
- 33% of frames were dropped during scroll (missing the 16ms target)
- Tested on 5 year old Nexus 5 to catch issues affecting older devices
- Used FrameMetrics API and Splunk to measure client side rendering separately from network
- Tracked p90 performance (656ms to 394ms) to ensure no user left behind
Critical Insight
By measuring the right metrics across device generations, Yelp cut search rendering time nearly in half and identified that a third of scroll frames were janky.