<html lang="en">
<head>
<title>Subroutines - GNU gprof</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="GNU gprof">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Call-Graph.html#Call-Graph" title="Call Graph">
<link rel="prev" href="Callers.html#Callers" title="Callers">
<link rel="next" href="Cycles.html#Cycles" title="Cycles">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the gprof profiler of the GNU system.

Copyright (C) 1988-2019 Free Software Foundation, Inc.

Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts.  A copy of the license is included in the
section entitled ``GNU Free Documentation License''.

-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
  pre.display { font-family:inherit }
  pre.format  { font-family:inherit }
  pre.smalldisplay { font-family:inherit; font-size:smaller }
  pre.smallformat  { font-family:inherit; font-size:smaller }
  pre.smallexample { font-size:smaller }
  pre.smalllisp    { font-size:smaller }
  span.sc    { font-variant:small-caps }
  span.roman { font-family:serif; font-weight:normal; } 
  span.sansserif { font-family:sans-serif; font-weight:normal; } 
--></style>
</head>
<body>
<div class="node">
<a name="Subroutines"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Cycles.html#Cycles">Cycles</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Callers.html#Callers">Callers</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Call-Graph.html#Call-Graph">Call Graph</a>
<hr>
</div>

<h4 class="subsection">5.2.3 Lines for a Function's Subroutines</h4>

<p>A function's entry has a line for each of its subroutines&mdash;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.

   <p>For reference, we repeat two lines from the entry for the function
<code>main</code>, the primary line and a line for a subroutine, together
with the heading line that shows the names of the fields:

<pre class="smallexample">     index  % time    self  children called     name
     ...
     [2]    100.0    0.00    0.05       1         main [2]
                     0.00    0.05       1/1           report [3]
</pre>
   <p>Here are the meanings of the fields in the subroutine-line for <code>main</code>
calling <code>report</code>:

     <dl>
<dt><code>self</code><dd>An estimate of the amount of time spent directly within <code>report</code>
when <code>report</code> was called from <code>main</code>.

     <br><dt><code>children</code><dd>An estimate of the amount of time spent in subroutines of <code>report</code>
when <code>report</code> was called from <code>main</code>.

     <p>The sum of the <code>self</code> and <code>children</code> fields is an estimate
of the total time spent in calls to <code>report</code> from <code>main</code>.

     <br><dt><code>called</code><dd>Two numbers, the number of calls to <code>report</code> from <code>main</code>
followed by the total number of non-recursive calls to <code>report</code>. 
This ratio is used to determine how much of <code>report</code>'s <code>self</code>
and <code>children</code> time gets credited to <code>main</code>. 
See <a href="Assumptions.html#Assumptions">Estimating <code>children</code> Times</a>.

     <br><dt><code>name</code><dd>The name of the subroutine of <code>main</code> to which this line applies,
followed by the subroutine's index number.

     <p>If the caller is part of a recursion cycle, the cycle number is
printed between the name and the index number. 
</dl>

   </body></html>

