A function's entry has a line for each of its subroutines—in other words, a line for each other function that it called. These lines' fields correspond to the fields of the primary line, but their meanings are different because of the difference in context.
For reference, we repeat two lines from the entry for the function
main
, the primary line and a line for a subroutine, together
with the heading line that shows the names of the fields:
index % time self children called name ... [2] 100.0 0.00 0.05 1 main [2] 0.00 0.05 1/1 report [3]
Here are the meanings of the fields in the subroutine-line for main
calling report
:
self
report
when report
was called from main
.
children
report
when report
was called from main
.
The sum of the self
and children
fields is an estimate
of the total time spent in calls to report
from main
.
called
report
from main
followed by the total number of non-recursive calls to report
.
This ratio is used to determine how much of report
's self
and children
time gets credited to main
.
See Estimating children
Times.
name
main
to which this line applies,
followed by the subroutine's index number.
If the caller is part of a recursion cycle, the cycle number is printed between the name and the index number.