canmove, Confirmed users
1,448
edits
(Created page with 'We've been using a method Vlad blogged about [http://blog.vlad1.com/2009/07/28/measuring-startup/ here]. The steps are below. # save [http://people.mozilla.com/~vladimir/misc/st…') |
(Added section on Windows setup.) |
||
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. | |||
# save [http://people.mozilla.com/~vladimir/misc/startup.html this html file] somewhere locally | #save [http://people.mozilla.com/~vladimir/misc/startup.html this html file] somewhere locally | ||
# create a new profile, run Firefox with it at least once, so all files are created, etc | #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: | #execute this command, with your profile name substituted, and invoking firefox in a way appropriate for your platform: | ||
<code> | <code>./firefox -P YourProfileName -no-remote file:///..../startup.html#`python -c 'import time; print int(time.time() * 1000);'` </code><code></code> | ||
./firefox -P YourProfileName -no-remote file:///..../startup.html#`python -c 'import time; print int(time.time() * 1000);'` | |||
</code> | |||
== | == Setup on Windows == | ||
<pre> | To run these tests on Windows, you can follow these steps (after step 1 and 2 above):<br> | ||
#!/bin/sh | |||
#Download and install [http://python.org/download/ Python].<br> | |||
#Download and install [http://cygwin.com/ Cygwin]. The default settings should be sufficient.<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 t | |||
ime; 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 | FF=/Volumes/Fujitsu80Gb | ||
Line 21: | Line 31: | ||
$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);'` | $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> | </pre> | ||
This assumes that your removable media is at /dev/disk1s2. | This assumes that your removable media is at /dev/disk1s2. |