Performance/Report-2013-12/FirefoxOS
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:
- (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.
- (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.
- (throughput) Improved content load time. Perceived time-to-load is a visual differentiator between browsers.
- (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
- (responsive) ~7fps Firefox OS scrolling improvement (bug 942397, bug 942398)
- (tooling) Better error reporting for Promise and Task (bug 908955)
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.