Firefox/Projects/StartupPerformance/MeasuringStartup: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Formatting...)
No edit summary
Line 1: Line 1:
The following method is based on a [http://blog.vlad1.com/2009/07/28/measuring-startup/ blog post] byVlad. The steps are below.  
The best way to measure startup performance is via the [https://addons.mozilla.org/en-US/firefox/addon/about-startup/ about:startup] addon.  


#save [http://people.mozilla.com/~vladimir/misc/startup.html this html file] somewhere locally
After installing the addon, go to about:startup to see the measurements. The meaning of gathered numbers is described in the above link.<br>  
#create a new profile, run Firefox with it at least once, so all files are created, etc
#execute this command, with your profile name substituted, and invoking firefox in a way appropriate for your platform:
<pre>./firefox -P YourProfileName -no-remote file:///..../startup.html#`python -c 'import time; print int(time.time() * 1000);'`</pre>  
== Setup on Windows  ==


To run these tests on Windows, you can follow these steps (after step 1 and 2 above):<br>  
There are 2 kinds of browser startup to consider: warm and cold. <br>  


#Download and install [http://python.org/download/ Python].<br>
*''Warm startup'' is when one runs the browser soon after closing it. Typically the operating system has everything cached in RAM during warm startup. To measure warm startup one should close the browser and immediately start it again.<br>  
#Download and install [http://cygwin.com/ Cygwin]. The default settings should be sufficient.<br>
*''Cold startup'' is when the operating systems must load everything from disk. The best way to test cold startup is to reboot your computer before inbetween restarting the browser.<br>
#Add python.exe or its containing folder to the PATH (or use the full path to the executable in the command below).<br>  
#In the Cygwin console, run the following command:<br>
<pre>/cygdrive/c/.../firefox.exe -P YourProfileName -no-remote file:///C:/.../startup.html#`python.exe -c 'import time; import sys; sys.stdout.write(str(int(time.time() * 1000)));'`
</pre>
Startup times using this method will be a little bloated due to the overhead introduced by the Cygwin console, but should still be reliable if compared with each other.<br>
 
== Cold startup on Mac  ==
 
The following is specific to Mac OSX and is required to evict Firefox code pages from memory and clear the Unified Buffer Cache (UBC). <code>purge</code> does NOT do this.
<pre>#!/bin/sh
 
FF=/Volumes/Fujitsu80Gb
 
diskutil unmount force $FF
diskutil mount /dev/disk1s2
 
$FF/Minefield$*.app/Contents/MacOS/firefox-bin -no-remote -foreground -P clean file://$FF/startup.html#`python -c 'import time; print int(time.time() * 1000);'`
</pre>  
This assumes that your removable media is at /dev/disk1s2.

Revision as of 17:57, 1 April 2011

The best way to measure startup performance is via the about:startup addon.

After installing the addon, go to about:startup to see the measurements. The meaning of gathered numbers is described in the above link.

There are 2 kinds of browser startup to consider: warm and cold.

  • Warm startup is when one runs the browser soon after closing it. Typically the operating system has everything cached in RAM during warm startup. To measure warm startup one should close the browser and immediately start it again.
  • Cold startup is when the operating systems must load everything from disk. The best way to test cold startup is to reboot your computer before inbetween restarting the browser.