Mobile/StartupOptimization
From MozillaWiki
< Mobile
Contents
Issues
Trunk Firefox takes ~15s to show the main window on the N800. With a simpler chrome it reduces to about 8s. The Maemo browser on the same hardware takes ~3s, and Safari (iPod Touch) takes less than a second.
Goals
Initial goal: Reduce startup time as perceived by the user to less than 3s.
Task list
Here are some potential optimizations:
- Startup bugs
- Improve fastload performance
- Filed bug 412796 [3]
- Optimize mobile chrome
- UI design
- XUL Optimizations
- Function re-ordering
- Streamline memory access by placing all code & data needed for start-up in contiguous sections at the start of the binary.
- Optimize memory allocation
- Significant time during startup is in memory allocations. Need link to ongoing work.
- Optimize startup hotspots
- Bug 406810 [4]
- Preload Mozilla libraries
- Preload all libraries during startup; launching Firefox only loads the XUL application.
- Preload Mozilla application
- Launch Mozilla during device startup and keep in background (no visible window). Launching Firefox will only open a new window.
- Identify & disable unnecessary work during startup (for mobile)
- Bug 421561 [5]
- removing comments from all evaluated source files (js, css, xul). Less to read in.
- Bug 463066 [6]
- look at what system libraries are being opened on start. strace shows we looking around for system version of nspr, nss, ect? Maybe we can help the dso loader.
- Bug needed.
- look at what locales are being loaded in. strace shows we are loading in locales that are not needed at startup.
- Bug needed
- merge all XPT files.
- Bug 469873 [7]
- Can JS files be precomputed/precompiled?
- bug needed.
- Reduce chrome files. For a XUL runner app, we do not pageloader for example. There are others. This should be included in make package.
- bug needed.
- Reduce js files. there are probaby some js completes that we do not need. (default command line handling, for example).
- Bug 468607 [8]
- Is sqllite doing a bunch of unneeded F_SETLK64s (fcntl64)? Maybe we do not have to be so overly protective of other writers?
- bug needed
- Does XR need the hiddenWindow? starting this takes times.
- bug needed