Performance/Report-2013-12/FirefoxOS

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 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
notable fixes

Firefox 27 (beta)

nothing to report

Firefox 28 (aurora)

projects
  • (responsive) will-animate CSS property for Firefox OS for initial apps

Firefox 29 (nightly)

projects
  • (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) Power Harness for Firefox OS

Firefox 30

projects
  • (responsive) Incremental Cycle Collection1
  • (responsive) OMTC CSS animations
  • (responsive) Reduce impact of session store thread communication

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.