Firefox Performance/Snappy work week recap

3 February, 2012 § 5 Comments

This past week I’ve been in Brussels, Belgium with about 15 people from Mozilla’s performance and front-end teams. This week we focused on what improvements we could make to the Mozilla platform and Firefox.

On Monday and Tuesday we were located at HSBXL, a hackerspace in central Brussels. While at HSBXL, people from the two teams did demos on tools that we can use to measure the performance of Firefox:

Wednesday through Friday we went to another side of town to visit the BetaGroup coworking space. Our first topic upon arrival was a telemetry-athon that Dietrich setup to get together a list of telemetry probes that we could build into Firefox. Telemetry is another tool that we use to measure the responsiveness of various parts of Firefox.

Telemetry probes

Marco (@mak77) worked on telemetry probes for: idle maintenance time; frecency update time; and bookmarks toolbar load time.

Felipe and Marco started looking into switching-tabs telemetry, and have put together an experimental patch to check the results. They will need some deeper checks at the platform level to proceed with this work. Felipe also has been writing some telemetry stopwatch helper modules.

Dietrich spend some time implementing session restore telemetry, as well as making session restore periodic updates work asynchronously.

Neil worked on adding telemetry for measuring the time it takes for new windows to open.

Paolo worked on adding telemetry metrics for private browsing transitions. It looks like this work is stalled while we figure out the status of work being done by an academic group.

I landed telemetry probes that measure how long it takes for the site-identity popup and the Firefox menu to appear.

Thread contention

Marco figured out two possible causes for recent UI hangs due to thread contention. A fix, authored by Paolo Amadini, for one of the causes is on its way to landing and work on the other one is starting. Marco checked some queries possibly causing thread contention with Vlad Djeric.

DOM Storage

On the topic of DOM Storage, we had a great talk about reducing I/O and making it asynchronous. Tim (@ttaubert) is looking in to changing the way that we store the data so it will have faster read and write times.

Other topics

The photos in this blog post were taken by Dietrich Ayala and are licensed as creative-commons sharealike.

Paolo and Marco discussed converting the favicons API to use asynchronous methods.

A lot of work got done while we were in Brussels, and the team got to talk in person with each other which isn’t always so easy to do. I was very happy to get to meet Paolo for the first time, as he has been working on the new Download Manager for Firefox and a person I’ve been in contact with but never seen him before.

Where Am I?

You are currently browsing entries tagged with brussels at JAWS.