Performance/Report-2013-12/Android

From MozillaWiki
Jump to: navigation, search

Firefox Performance Report - December 2013

Filter: All Products | Firefox Desktop | Firefox for Android | Firefox OS

The goal of this report is to clearly summarize the active Mozilla engineering performance work so that we can make deliberate decisions with respect to the projects that we choose to invest in and the allocation of our people.

As of this month, this report includes work specific to Firefox for Android and Firefox OS.

Summary

  • The Android team introduced Skia GL for NVIDIA in Firefox 25. In Firefox 26 they have enabled it for all GPUs.
  • The network cache rewrite has been retargeted to Firefox 31.
  • A lot of effort continues to be targeted at removing work from the main thread. This work is distributed across the graphics, front-end, and performance teams.

The current high level engineering performance focus areas are:

  1. (start-up) A reduction of Firefox desktop start-up time. Start-up time was identified as a key retention driver in the Chrome attrition study.
  2. (responsive) Improved responsiveness through the removal of main thread IO. Main thread IO is a key cause of visible 'jank' (periods of unresponsiveness) in Firefox products.
  3. (throughput) Improved content load time. Perceived time-to-load is a visual differentiator between browsers.
  4. (tooling) Improved test automation and profiling tools for desktop and mobile.

Project definitions including team, product impact, and work tracking are listed at https://wiki.mozilla.org/Performance. High level project activity and current projected targets are listed below.

Meeting notes from the monthly performance meeting are available at https://wiki.mozilla.org/Performance/2013-12-05

Release Status

Firefox 26 (release)

projects
  • (responsive) Reduce Storage connections main-thread operations - API complete at this point, FHR conversion complete, Sqlite.jsm and asyncClose consumers already getting perf wins, additional consumer migration to follow
  • (responsive) Skia GL for all GPUs for Firefox for Android
notable fixes
  • (start-up) Small start-up improvement on Android due to Telemetry change (bug 905759, bug 906088)
  • (responsive) Off-main-thread sqlite AsyncClose (bug 874814)
  • (tooling) Better error reporting for Promise and Task (bug 908955)

Firefox 27 (beta)

nothing to report

Firefox 28 (aurora)

projects
  • (tooling) Background Hang Reporting for Android

Firefox 29 (nightly)

projects
  • (responsive) Complete asynchronous history API
  • (responsive) Reduce impact of session store cookie collection
  • (responsive) SQLite for chrome workers
  • (responsive) Workers lz4 [de]compression
  • (tooling) New unwind library for profiling on mobile
  • (tooling) Improved Android App Not Responding dashboards

Firefox 30

projects
  • (responsive) Incremental Cycle Collection1
  • (responsive) OMTC CSS animations
  • (responsive) Reduce impact of session store thread communication
  • (tooling) Improved Android Background Hang Reporting dashboards

Firefox 31+

  • (responsive) Unification of mobile platform graphics (buffer rotation / tiling)
  • (throughput) Network Cache Rewrite3

Notes

1

Planning to land incremental cycle collection preffed off by end of 2013. Not yet sure when this work will be able to be preffed on.

2

Reducing time to first paint for cold start-up on slow/old hardware pushed back to Q1 due to focus on other projects.

3

Cache rewrite pushed from Firefox 29 to 31 because writing a crash-recoverable in-RAM index is taking more time than expected.

4

Projects on hold due to lack of resources.