Nuking parts of Firefox’s main-thead IO
17 December, 2011 § 6 Comments
Felix Fung once said something along the lines that main-thread IO should only be dealt with by tossing it in to a woodchipper, making mushroom fricassee with it, microwaving it, and then butchering it up some more.
Today marked the completion of Felix’s internship at Mozilla. While sad to see him go, I’m happy to say that Felix did an amazing job at removing some of the main-thread IO found in Firefox, thus making Firefox even faster.
For example, in Firefox Aurora (soon to be Firefox 10), downloads in the browser now use considerably less CPU usage (sometimes reduced by ~50%).
Another great fix came in for
about:permissions. Users who had many thousands of sites listed in
about:permissions would encounter sluggish behavior from the browser when loading
about:permissions. This sluggish-ness is now a thing of the past that should be long forgotten and never missed.
In Firefox Nightly (soon to be Firefox 11), we now have a complete internal asynchronous API for favicons. Work had started on this in earlier releases, but it has now reached completion. The landing of this feature will allow consumers of favicons (think of: tabs, history, bookmarks, downloads, Windows 7 jump lists, I-don’t-know-what-else-but-there-are-probably-tons-more, etc) to render, react, and update much quicker.
Felix (wearing the plum dress shirt) wasn’t the only intern in Mountain View during the Fall. See the picture to the right for a group of smart, funny, and hard-working interns who have been working to make the internet better for all.
Cheers Felix, job well done!
Awesome work, Felix!
thankyou felix.. come back soon to join mozilla
Mozilla should have a policy of guaranteed ongoing full time employment to the intern who makes the most substantial impact.
im thinking it would be interesting to switch to a nativeui with full async communication with gecko on, say, windows, as a test, in a branch.
it breaks addons, yes.
but fennec async’s ui is just so good.
[…] Nuking parts of Firefox’s main-thead IO […]