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