Tuesday, September 21st, 2010

Finding Performance Gains

About nine months ago we started adding Win7 feature support to Firefox’s TRUNK source tree. At that time we weren’t running Win7 Talos performance stats on TRUNK builds, so we were basically landing code in the blind as far as performance was concerned. After Win7 was released, we added Win7 to Talos in early 2010 and started accumulating data… fast forward nine months. Over the last couple weeks I’ve been digging into Win7 startup regressions, trying to pin down some pesky initial paint problems related to glass and various other new features. Can you imagine my surprise, when I stumbled over this wonderful bit of code, which I wrote, that makes synchronous calls to our favorites database in generating Win7 jump lists while the browser’s main UI starts up. You would think something so innocuous would be, well, innocent. Well, not so, I landed a patch this week that delays calls to this code on browser startup, and well guess what – I got these Talos peformance results on cold startup with a heavily populated user profile:

That scale on the left is in milliseconds! Blam! The fx favorites db wasn’t as fast as I expected. Such is life. I’ve filed off an additional bug on making these calls faster so jump lists get updated without dragging down the main UI. Lesson learned. Browsers are hard, and fun too. :)

Posted by Jim Mathies on September 21st, 2010 | Filed in Technology | Comment now »



Please leave a Comment