Firefox/Projects/Startup Time Improvements/joelr notes: Difference between revisions

no edit summary
No edit summary
Line 4: Line 4:


= Current status =
= Current status =
=== August 28, 2009 ===
Eric Gouriou on my prior use of ''dtrace -c...'':
<pre>
I am afraid that the data collected using this methodology is highly suspect.
- firefox-bin gets run as root
  This is not a normal environment for an application. There are plenty of high-level
  frameworks which are not quite happy running in that environment, in good part because
  the root user will not have a typical home directory setup and due to differences in environment
  variables.
  This is a known limitation of dtrace -c . Feel free to add your voice via bugreporter.apple.com
- A typical launch is not just fork/exec or posix_spawn
  Even if dtrace -c could magically launch using a regular user, it still isn't a typical launch.
  dtrace uses fork/exec or posix_spawn (I didn't check which one), while a typical launch
  (Dock, Finder, open) uses LaunchServices.  It isn't all that different but you might as well
  address both issues together.
  I'd recommend reworking your script to watch the exec-success of firefox-bin and use
  a static probe (no need for $target then) to mark the end time. Then you can use a more normal
  launch method, for example open .../Minefiled.app .
</pre>
I have [http://github.com/wagerlabs/firefox-startup/blob/75f719f3a3cdb380071ef8c354cf52564ac4754d/d reworked my cold start script] which can be used like this now:
<pre>
./d firefox-bin startup.d stop-main.d
dtrace -Zqw -x dynvarsize=64m -x evaltime=exec -p 35331 -s sigcont.d -s startup.d -s stop-main.d
kill -CONT 35331
Total: 2000.275985ms
</pre>
The above assumes that I launch Minefield.app after ''d'', from the dock, Finder, command line, etc.
= Previous statuses =


=== August 27, 2009 ===
=== August 27, 2009 ===
Line 131: Line 169:


I don't have an explanation yet but 9 seconds is a very large difference.
I don't have an explanation yet but 9 seconds is a very large difference.
= Previous statuses =


=== August 26, 2009 ===
=== August 26, 2009 ===
109

edits