blog: Overlooked Essentials for Optimizing Code

Daniel Gibson metalcaedes at gmail.com
Sat Sep 11 00:10:03 PDT 2010


Jesse Phillips schrieb:

> Is there information on what the output of trace.log and trace.def mean? And I guess I can run the demaingler against  this output, any tools already handle this?

Documentation of the profilers output would be helpful indeed.

That last table in trace.log is self-documenting and already contains 
the most important information: what function is executed how often, how 
much time does that take and how much of that time is used within that 
function itself ("Func Time") opposed to the time taken by functions 
called from that function ("Tree Time" - "Func Time")

Don't know about the rest of trace.log though - maybe it's "the fan in 
and fan out, which is essentially the call graph. From it, you can tell 
why and from where foo() is being called 1000 times when you only 
thought it should be called 3 times." (which a good profiler will tell 
you according to Walter on reddit[1])?

Also: The output would be much more readable if it was demangled.

A tool that parses trace.log and generates a nice (html?) representation 
of the data would be really cool :-)

Cheers,
- Daniel

[1] 
http://www.reddit.com/r/programming/comments/dc6ir/overlooked_essentials_for_optimizing_code/c0z4yxu




More information about the Digitalmars-d mailing list