"Weekly Firefox Startup Performance Roundup"

Here's a summary of all the startup-related work going on. Other people on the team are also blogging updates on their individual projects:

Progress

  • PGO for SQLite, MozStorage and Places: Landed on the Places branch. The test failures seen when PGO first landed are not there (yay), but the Talos boxes don't show any clear wins (boo).
  • Dead Code Hunting: Even though he's supposed to be on vacation, David has got the full browser.xul environment pulled in for analysis. More info in his post (linked above). Still a lot of false-positives in the detection code.
  • Startup timeline: Vlad's been working with the NSPR owner, and the latest patch has review, so almost there.
  • XPCOM component combining: No progress from me, but Florian Quèze attached a shell script to knit the components together!
  • XPT Linking on Mac: Drew has confirmed big wins from this, split it off into it's own bug. More detailed notes from him on his wiki page.
  • JARification

  • Testing/Measurement

    • Met with Alice to talk about various test scenarios, and the deployment process
    • Started a guide for taking a Talos test from idea to production
    • Initial steps on automatedly testing cold-startup, figuring out platform-specific calls, and what Talos changes are needed
    • Discussing approaches to micro-benchmarking the browser UI

Next Steps

  • Enable PGO on mozilla-central, get nightly tester feedback
  • Once the startup timeline lands, get an actual timeline to analyze
  • Reduce false-positives on the dead-code report, document installation and usage, develop plan for continuous integration
  • Work with Ted to get a patch for JS component combining into the packaging process
  • Figure out if there's a win in jar'ing /components or if we just need to fix fastload to not touch the files as much
  • Get XPT linking landed
  • File bugs and get the Talos changes in Alice's queue for cold-startup testing
  • Finish the Talos test development guide
  • Talk with Ryan Doherty about the reporting side of microbenchmarking [UPDATE: added Drew's blog post]