Overloading/Inheritance issue

Walter Bright newshound1 at digitalmars.com
Tue Aug 7 17:37:21 PDT 2007


Jascha Wetzel wrote:
> Walter Bright wrote:
>> Post a snippet of the output and point out what is unclear, and I'll 
>> try to help.
> 
> the sections that come first, before the list of functions sorted by 
> "func time":
> 
> ------------------
>     1    A
>  1095    B
>  1856    C
> D      2952    122732995    3009972
> 
> the sections appear to list the functions that are directly called by 
> the top most in the section. but i can't figure out what the numbers 
> mean and why there are some entries with a single one on the left and 
> some with 3 numbers on the right of the function name.

I renamed the functions for simplicity.

D is called 2952 times. 1 of those calls comes from A. 1095 come from B. 
  1856 come from C. Note that 1+1095+1856 = 2952. (The A, B, C counts 
are called the "fan in".) The "fan out" is a list of counts of what D 
calls, and follows the line for D.

The total number of timer ticks spent in D is 3009972, excluding 
whatever D calls. The total number of timer ticks in D, including 
whatever D calls, is 122732995.

 From this information you can not only determine where the time is 
being consumed, but *why*, as you know where the calls are coming from. 
You can do this to determine the runtime relationships between 
functions, which can be used to set the link order (and this is output 
by the profiler in the form of a .def file).



More information about the Digitalmars-d mailing list