Profiler output: Call graph
The profiler call graph provides detailed function call information.
The section "Call graph" provides the following details for each function:
- The functions that called it, the number of calls, and an estimation of the percentage of time spent in these functions.
- The functions called, the number of calls, and an estimation of the time that was spent in the subroutines called from this function.
Tip: Runtime system internal function names start with the
rts_
prefix. For example, the rts_display()
function implements
the DISPLAY
instruction.Column name | Description |
---|---|
index |
Each function has an index which appears at the beginning of its primary line. |
%total |
Percentage of time spent in this function. Includes time spent in subroutines called from this function. |
%self |
Percentage of time spent in this function excluding the time spent in subroutines called from this function. |
%child |
Percentage of time spent in the functions called from this function. |
calls/of |
Number of calls / Total number of calls |
name |
Function name |
Output example:
index %total %self %child calls/of name
...
15.63 1.09 14.54 1/2 <-- myprog.main
38.84 2.07 36.77 1/2 <-- myprog.fB
[5] 54.47 3.16 51.31 2 *** myprog.fC
51.31 24.42 26.89 7/8 --> mymod.fA
Description:
- Note that functions are prefixed with module names.
- The three stars
***
indicate the function that is analyzed:myprog.fC
. myprog.fC
consumed 54.47% of the CPU time: 3.16% in the actual function code, plus 51.31% in the called functions.myprog.fC
has been called two times (one time bymyprog.main
and a second time bymyprog.fB
)myprog.fC
has called themymod.fA
function 7 times.mymod.fA
has been called 8 times in the program.