Firefox Startup Performance Weekly Summary

Current numbers are available on the Performance Snapshot page.

Summary, relative to Firefox 3.5:

  • Warm startup: For Mac, 36% better on 3.6 and 35% better on 3.7. For Windows, 5% and 5%. Flat on Linux. Also, Warm startup for Mac on 3.6 is a whopping 13% better than last week, due to the landing of bug 517804.
  • Cold startup:  For Mac, 20% better on both 3.6 and 3.7. For Windows, not measuring yet. For Linux, we’re seeing a regression of ~9% across branch and trunk in the snapshot but not on the graphs, so I need to figure out where the discrepancy is.

This week’s activity:

  • Dirty-cold-Ts went live this week, thanks to Alice and Lukas. Example: cold startup with a large places.sqlite on Mac.
  • Joel is making progress on making a super-static Firefox in bug 525013.
  • Ben is making progress on the fastload replacement in bug 520309.
  • No updates on Windows cold-startup testing for Talos on bug 522807. I need to test on Vista, and turn off Pre/Superfetch.
  • Taras has patches up for service caching (bug 516085) and super-fast-path-ing of Components.* (bug 512584), however the latter he’s hit a wall, passing on to Blake or someone else who knows that code.
  • Ted landed rebasing on Windows in bug 484799.
  • Jonathan Kew has a new patch in bug 519445 for further reductions in Mac startup time spent in font system initialization, just about there…
  • Ryan Flint put a patch to minify JS on bug 524858, not working yet, but significantly reduced the size of shipped JavaScript files.

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. Need to list scenarios, 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.
  • No updates on Zack’s CSS parser changes in bug 513149.

As usual, more details and links are available on the project wiki, and we’re available to answer questions in #startup on


5 Comments on “Firefox Startup Performance Weekly Summary”

  1. […] Fixed: 517804 – Try to avoid reflows and new invalidations during painting. (On Mac, this makes warm startup 13% faster.) […]

  2. Zoog says:

    It’s Windows where I’d like to see a big improvement in cold start time. Cold start is much better on Linux on my machine than on Windows (though maybe that’s’ only because I use Linux less, and less junk has accumulated in my profile?) It is the Windows cold start that is really painfully slow.

    Mac’s are too expensive to be practical here, so I don’t know/care about those.

  3. Os says:

    I second what Zoog says: As much as I appreciate the improvements on Mac-OS, the majority of FF users is still on Windows and cold startup on Windows is still very slow – it feels faster in 3.6 beta 3 than with 3.5 but still takes up to 10 seconds on a reasonably fast Core 2 Duo laptop.

  4. Zoog says:

    What I meant exactly is that I would consider improving Windows startup performance more important than Linux startup performance, not primarily because Windows is much more commonly used (although that shouldn’t be ignored either), but simply because cold start time is much worse on Windows than on Linux on my machine. At least I perceive it so, and I find slow startup much more annoying on Win than on Lin. I didn’t do any precise timings though.

    I have no idea what it’s like on Mac compared to Win. In fact I never had the chance to use a Mac, they’re quite rare here.

  5. Manoj Mehta says:

    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.

    Since Chromium is open source as well, and purportedly starts up almost as fast as Safari on a Mac, Firefox can borrow some of the optimization techniques used by Chromium to improve Cold startup.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s