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