109
edits
Joel Reymont (talk | contribs) |
Joel Reymont (talk | contribs) 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. | ||
=== August 26, 2009 === | === August 26, 2009 === |
edits