All About Performance

and other stuff by Taras Glek

Snappy, March 15th

Firefox 13 became Aurora this week. Firefox 13 is the first release that contains a significant amount of Snappy improvements. Some work got backported to 11 & 12, but 13 is where the bulk of work landed. I am very proud of how much we accomplished in 13.

[caption id=”attachment_613” align=”alignnone” width=”600” caption=”Distribution of Snappy fixes”][/caption]

I suspect the unnamed bar mostly consists of bugs that did not get version-tagged, but those should also be FF13.

Smooth Scrolling

About 10 years ago Avi Halachmi embarked on perfecting scrolling via his smoothwheel extention. It may be that Firefox was the first browser to feature kinetic scrolling (with his extension). This Tuesday Avi landed some of those smarts in Firefox; see bug 206438. I’m sad that it took us 10 years to notice an awesome UX improvement like this. However, it is awesome to work with community developers who can focus on in on a particular feature and perfect it to their liking. To me this is what open source is about: enabling amazing people to perfect their software experience (and have everybody else benefit). Thanks, Avi!

My secret plan is to clean up a few primary user experiences and freeze the rest of the browser while the user is interacting via bug 712478. Scrolling is one such activity, watching video is another, typing, etc.

Peptest

There is now a graph for peptest results. Mark is figuring out how to deal with outlier, and considering integrating telemetry histograms.

Cycle Collector

Olli reduced CC lag observed after closing tabs like gmail, bug 734057.

WIP

We have fixed a lot of the low-hanging fruit and are working on larger projects at the moment. Going forward I’ll stick to mentioning projects when they get started, finish, or post builds for people to test.

Plans for Firefox 14

I’m very proud of Snappy fixes in Firefox 13, as a result I have high expectations for Firefox 14. The following are within reach:

  • Get rid of remaining main thread SQL (including Local Storage).
  • Make background maintenance tasks interruptable
  • Fix themes to not ruin our startup
  • Teach Firefox to suspend background processing during user interaction
  • Ensure that graphics acceleration does not regress browser responsiveness
  • Exit quickly
  • De-jank animations
  • Make our network cache more responsive

Comments