All About Performance

and other stuff by Taras Glek

Snappy #43: Big Improvements: Faster Startup? Smoother Tabstrip!

Our median startup performance (as measured by SIMPLE_MEASURES_FIRST_PAINT) improved between 20%-25% at the end of Firefox 18 cycle (~Oct 26). Strangely most of the speedup seems to have come from a 50% speedup in library loading (measured by SIMPLE_MEASURES_MAIN).

Tab-strip

Bas Schouten landed bug 805831 which should further speed up tab-strip drawing when 2d-acceleration is used. Neil Deakin fixed bug 792296 and bug 752376.

We spent a lot of time focusing on tab smoothness recently. We still have a long way to go, but I checked telemetry data and the improvements are staggering. In the picture below I’m comparing tab closing animation(FX_TAB_ANIM_CLOSE) between 17, 18, 19. In the picture below there should be 0 entries to the right of 154(that’s our problematic performance tail). In 2.5 months, we went from having almost 20% of our tab animations taking > 400ms to complete to ~3%.

In addition to median perf improving, tab animations are now much less likely to vary in duration, etc. This required fixes in layout, gfx, frontend code. It’s really great to see a cross-team effort producing tangible results. It’s too bad that our analysis infrastructure makes it so hard to pinpoint specific changes that contributed most to an improvement like this.

Misc

Matt Woodrow improve performance of a periodic table demo in bug 806256. However, performance is still poor on some types of machines, so I filed bug 808838.

Dão Gottwald landed bug 756313 which is similarly to his work in last Snappy update postphones doing content work until Firefox chrome is painted.

Benoit Girard changed the profiler so it now updates the url as the treeview is being navigated. This makes it much easier to discuss what we are seeing in the profile.

Blog

Thanks for the feedback on blogging platform alternatives. I turned on a better captcha plugin to deflect spam. A lot less spam gets through now (but I think it’s also preventing legitimate users from getting through). If you are having trouble commenting, use twitter for now.

Comments