Firefox/Projects/Startup Time Improvements: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
Line 36: Line 36:
* Log and mine filesystem operations during startup (Ryan)
* Log and mine filesystem operations during startup (Ryan)
** [http://boomswaggerboom.wordpress.com/2009/06/24/firefox-for-mac-os-x-and-filesystem-related-system-calls/ Josh Aas's post]
** [http://boomswaggerboom.wordpress.com/2009/06/24/firefox-for-mac-os-x-and-filesystem-related-system-calls/ Josh Aas's post]
** checking out Xperf and others for Windows work
** maybe write a new dtrace script for targeting offenders
** maybe write a new dtrace script for targeting offenders
*** investigating dtrace timing/FS cache issues on OS X
**** Instruments appears to have the same issues
*** Simple JS file exec script has yielded [https://bugzilla.mozilla.org/buglist.cgi?bug_id=504513 some results]
* Mine bugzilla for existing startup bugs and tag them (Dietrich)
* Mine bugzilla for existing startup bugs and tag them (Dietrich)
* Hot vs. cold testing
* Hot vs. cold testing

Revision as of 11:11, 18 July 2009

Overview

Sprint lead: Dietrich
Sprinters: Ryan, Drew, David

Description
Investigate areas for Ts wins, find & fix issues that help Fennec and WinCE

Goals / Use Cases

  • The core goal of this sprint is to achieve visibility into the performance-related problem areas during browser startup, and to use that visibility to create actionable bugs, creating a clear development path to move forward on.
  • The secondary goal is to fix bugs in which a resolution path is already clear, and that would provide a human-noticeable win in Fennec or WinCe.
Non Goals
Fix all the identified areas. Should ensure that the relevant people are aware of bugs filed, and work to get the bugs with potentially big wins prioritized.

Plan

  • Create a baseline profile for testing
  • Create and document measurement tools and strategies
  • Identify code paths that take the most time at startup
  • File bugs for problems found to be actionable

Tasks

  • Define the test environment
    • Create a baseline profile to measure startup against (Dietrich)
    • Prefs, platform-specific issues
  • Create an easily accessible timeline of the startup path (David)
      • STATUS (2009-07-17): Compiling, but not linking. Still figuring out how to make sure the PR_LOG module is NS_EXPORTED correctly. We are trying to move from fprintf to PR_LOG for all output
      • Split the patch up into 3 patches for easier review: CPP, JS and Instrumentation
  • Mine the Ts DTrace visualization for opportunities (Drew)
    • bug 504858 - Investigate delaying initialization of bookmarks toolbar
    • bug 504872 - Investigate further delaying initialization of the search bar
    • See DTrace links below also
  • Log and mine filesystem operations during startup (Ryan)
    • Josh Aas's post
    • checking out Xperf and others for Windows work
    • maybe write a new dtrace script for targeting offenders
      • investigating dtrace timing/FS cache issues on OS X
        • Instruments appears to have the same issues
      • Simple JS file exec script has yielded some results
  • Mine bugzilla for existing startup bugs and tag them (Dietrich)
  • Hot vs. cold testing
    • Running with fastload crippled/disabled

References

Meta-bugs and Searches

Needs investigation

Previous work

Tips, Tools

Fastload: