Snappy, Aug 2

Landed This Week

Neil Deakin joined the Snappy effort. He is working on eliminating pointless reflows in the tab strip. His fix for bugĀ 752486 landed, 752376, 752496 are next.

Brian Bondy landed removal of our prefetch-nuking code in bug 770911. xul.dll preload is now always on based on our telemetry startup study in bug 765850.

Bill McCloskey landed the following improvements to reduce garbage collection pauses:

  • bug 777919 – Free LifoAlloc chunks on background thread, instead of as part of the final IGC slice. This isn’t a problem for most people, but for some people on OSX it can take anywhere from 50ms to 250ms or more.
  • bug 778993 – Separate runtime’s gcMallocBytes from compartment’s gcMallocBytes, so we trigger less non-incremental GCs with many tabs open
  • bug 767209 – Make GC slices longer when not painting to avoid non-incremental GCs.

See Bill’s comments in bug 767209 for some insight into the complex heuristics that go into minimizing GC interruptions: comment 1, comment 2.

Coming Soon

In the coming week I expect to see some good optimizations land for page rendering, tab-switching behavior, more robust cache, etc.

Some Snappy people will be attending 2012 in Warsaw, Poland on September 8, 9. Expect to see lots of talk on profiling and other performance tools.

I hope to have above 15-20 Performance/Snappy people in Warsaw for the following week. This is not yet finalized. At the moment we are looking to see if there is a coworking space or a company in Warsaw who could host us.


  1. Hi Taras,
    i have been using the “sps profiler” for about 20 days in the FF nightly. After the last 2 updates to the addon, i noticed that when you click on the “profiler:running” button on the addon bar, there is no green monitoring line visible.
    Earlier ,when the addon was running, a green line graph, measuring the framerate/lag, was visible.

    is this an intended change or a bug?

  2. Benoit says it’s a bug in JetPack. Should be fixed with the next JetPack release.

  3. I am very interested in compositing / drawing related performance. Like the infamous/counterintuitive slowdowns with GPU rendering.

    A good fleshed out post (by someone from Mozilla) about GPU rendering slowdowns work, invalidation related work and how it related to scrolling performance, what exactly is Azure and why it was backed out for v15, what exactly is Skia, etc. Would be very much appreciated.

  4. Thanks for all the great work snappy team!

    There is one bug that bothers me all the time and does seem snappy related. When win7 resumes after hibernating or sleeping, firefox takes ages to become responsive.

    I did some bugzilla searching and found this:

    It seems neglected so just bringing it to your attention. Thanks again for the hard work.

  5. Hi, taras. When I use about:telemetry 0.14 in nightly, most histograms described in TelemetryHistograms.h are missing. Is 0.14 outdated?

  6. I’m aware of that bug and know atleast one of the causes for it(download manager). However I’m still looking to catch a hung firefox in windbg post unsuspend, since it’s not 100% reproducible.

  7. 0.14 is current. Sounds like you got telemetry disabled. Check toolkit.telemetry.enabled pref

  8. If I can get some free time, I will reinstall all my extensions on a new profile and see if I can reproduce it for you.