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.
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.
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: