gprof: Primary

1 
1 5.2.1 The Primary Line
1 ----------------------
1 
1 The "primary line" in a call graph entry is the line that describes the
1 function which the entry is about and gives the overall statistics for
1 this function.
1 
1    For reference, we repeat the primary line from the entry for function
1 'report' in our main example, together with the heading line that shows
1 the names of the fields:
1 
1      index  % time    self  children called     name
1      ...
1      [3]    100.0    0.00    0.05       1         report [3]
1 
1    Here is what the fields in the primary line mean:
1 
1 'index'
1      Entries are numbered with consecutive integers.  Each function
1      therefore has an index number, which appears at the beginning of
1      its primary line.
1 
1      Each cross-reference to a function, as a caller or subroutine of
1      another, gives its index number as well as its name.  The index
1      number guides you if you wish to look for the entry for that
1      function.
1 
1 '% time'
1      This is the percentage of the total time that was spent in this
1      function, including time spent in subroutines called from this
1      function.
1 
1      The time spent in this function is counted again for the callers of
1      this function.  Therefore, adding up these percentages is
1      meaningless.
1 
1 'self'
1      This is the total amount of time spent in this function.  This
1      should be identical to the number printed in the 'seconds' field
1      for this function in the flat profile.
1 
1 'children'
1      This is the total amount of time spent in the subroutine calls made
1      by this function.  This should be equal to the sum of all the
1      'self' and 'children' entries of the children listed directly below
1      this function.
1 
1 'called'
1      This is the number of times the function was called.
1 
1      If the function called itself recursively, there are two numbers,
1      separated by a '+'.  The first number counts non-recursive calls,
1      and the second counts recursive calls.
1 
1      In the example above, the function 'report' was called once from
1      'main'.
1 
1 'name'
1      This is the name of the current function.  The index number is
1      repeated after it.
1 
1      If the function is part of a cycle of recursion, the cycle number
11      is printed between the function's name and the index number (⇒
      How Mutually Recursive Functions Are Described Cycles.).  For
1      example, if function 'gnurr' is part of cycle number one, and has
1      index number twelve, its primary line would be end like this:
1 
1           gnurr <cycle 1> [12]
1