Firefox Startup Performance – Dec 18Posted: December 18, 2009
Not much change from my late post on Monday, but a few updates below. I’ll be out of the office as of this Monday, and back on 1/11/2010. If you’re starving for startup info during that time, hit up Taras, Joel and Planet Firefox for the goods. The current numbers for startup and all other tests are available on the Performance Snapshot Page.
Top Startup Bugs
|Estimated win||Bug #||Summary||Owner||Status||Notes|
|>10%||512584||Super fast paths for Components.classes and Components.interfaces||Taras Glek||in progress||Taras says mostly there.|
|>10%||525013||Investigate a more static build configuration of Firefox||Joel Reymont||Mac and Linux in progress||Joel’s working on getting load of XPCOM components working now. Next step is completing runs of the performance tests on the tryserver.|
|up to 25%||514083||Per-file HFS+ compression on Mac OSX 10.6||Joel Reymont||in progress||Snow Leopard only. More testing needed to see if it’s feasible to compress at install-time, or if we’ll have to ship SL builds.|
|TBD||520309||Startup cache: replacement for fastload cache||Ben Hsieh||in progress||Brendan suggested some significant changes, in-progress.|
|TBD||503483||Turn on –enable-faststart for Firefox by default||Dietrich||needs testing||No update this week. Loads Firefox core libraries at boot time. Need to test on all OSes, publish the numbers, and get discussion going.|
|TBD||513149||Speed up CSS parsing by using a machine generated lexer||Zack Weinberg||Zack’s blocked on other work||Taras says about 6% of startup spent parsing CSS.|
Other activity this week:
- More investigation into Hunspell changes in bug 468799, possibly incorporating some changes Chrome made.
Projects in a holding pattern:
- JARification: David abandoned moving JS modules into a JAR file, since those files are fastloaded. However, since we want things like post-extension-install restarts to be fast, and those cause fastload cache invalidation, we might want to do things like this anyways. I filed a bug for the same treatment for components. These are lower priority, since they’re not the normal startup case. Follow along with all JAR-ification via the tracker bug.
- Startup Timeline: No updates, still not landed. Add [ft] in the whiteboard of your bug w/ the function names you want timed and David will generate it and update the bug.
- Static Analysis: No progress on bug 506128. David needs to file a bug with the final log of named-yet-uncalled functions.
- Dirty Profile Testing: No progress. We have a list of test scenarios, still need to file bugs for each, generate Talos config patches and profile data, and then move it into Rel-Eng territory. Also, need to get a separate Tinderbox tree, since it’s going to cause a bazillion new columns.
- Joel Reymont noted in bug 513076 that there are serious drawbacks to getting our libraries in the dyld shared cache on Mac, so has deprioritized that work.