On Aug 24, 2009, at 7:02 PM, Chad Mynhier wrote:
Why not just use a separate aggregation for this? For example, in
this one clause, you could do this:
That's what I tried but the result wasn't any different.
I think what's happening is that multiple threads try to write back to
the global/aggregation at the same time and values get written over.
Here's an example...
pid$target::ImageLoader??runInitializers*:return
/self->ts && self->lib != 0/
{
...
@initint = sum(this->delta / 1000000000);
@initfrac = sum(this->delta % 1000000000);
printa("---> %...@u.%@03us\n", @initint, @initfrac);
...
}
This produces the following timings:
---> 0.199488s
---> 0.199488s
---> 0.249219s
---> 0.341708s
---> 0.341708s
---> 0.425014s
---> 0.425014s
---> 0.473674s
---> 0.592053s
---> 0.592053s
---> 0.736120s
---> 0.736120s
---> 0.736120s
---> 0.830530s
---> 0.881503s
The final 0.88 above is not right, though, as seen in the per-library
timings:
Static init: 0.29539s for /System/Library/Frameworks/
CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/
Versions/A/CarbonCore
Static init: 0.36176s for /Users/joelr/Work/mozilla/startup/./
Minefield.app/Contents/MacOS/libsoftokn3.dylib
Static init: 0.40539s for /System/Library/Frameworks/Carbon.framework/
Frameworks/HIToolbox.framework/Versions/A/HIToolbox
Static init: 0.48660s for /System/Library/Frameworks/
ApplicationServices.framework/Versions/A/Frameworks/
CoreGraphics.framework/Versions/A/Resources/libCGATS.A.dylib
...
Just these few are > 0.88s.
Thanks, Joel
[1]
http://github.com/wagerlabs/firefox-startup/commit/baeed3b4ac9eef7ebba13ff5bdc6928bfb2ca83f
---
fastest mac firefox!
http://wagerlabs.com
_______________________________________________
dtrace-discuss mailing list
dtrace-discuss@opensolaris.org