Download the full case study as a PDF

Web browser performance is a key metric for Android based consumer products. A customer was finding that their latest platform was not matching their competitors on the BrowserMark benchmark. The source of the issue had to be identified and resolved quickly.

Process and Technology

CriticalBlue's native Android dynamic analysis technology was used to capture a trace of instruction execution during the benchmark. This allowed our engineers to quickly identify the source of poorly predicted branches and design an alternative implementation.

By using the analysis capabilities of our technology to play back the trace through a cache model, data structures with poor locality could be identified. A developer could then reorganize the data layout to better support caching of the actual runtime access pattern.

Results

After analysis, CriticalBlue engineers identified and implemented optimizations to improve branch predictability and data locality in the customers Webkit implementation.

This resulted a 14% to 18% improvement in the benchmark score. By targeting optimizations to where they would be most effective, the amount of code modification was kept to a minimum which reduced risk.

The collaboration with CriticalBlue also produced:

  • Detailed reports about measurable improvements to the metrics, submitted at regular intervals, which allowed customer engineers to learn from, validate, and build on optimizations.
  • Long-term awareness built into the customer development team as part of the knowledge transfer process, enhanced by deployment of Prism analysis technologies.

Download the full case study as a PDF