Yelp Tyler Argo

Yelp's Android Search Performance Improvements (Part 1)

Original post 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

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.

Continue reading

What This Article Covers

Problem

Yelp's Android search results took 350ms to render at the median. Users at the 90th percentile saw delays of 656ms, caused by client-side processing bottlenecks rather than network issues.

Solution

Tyler Argo's team built a performance improvement process using the Measure-Improve-Monitor-Repeat framework. They used Splunk metrics to find where time was being spent on the client by comparing search_request duration against search_results_loaded timing.

Impact

Client-side rendering dropped to 190ms at p50 and 394ms at p90. Scroll performance improved too, going from 33% dropped frames to a smooth 60fps across different devices.

The measurement framework is just step one of their four part improvement lifecycle, with the actual optimization techniques coming in part two.

This page summarizes “Android Search Performance Improvements (Part 1)” by Yelp, published May 2, 2018. All credit for the original work goes to the authors.

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

AI tools for Android

Browse all AI tools →