<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.7"> <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, 92, 97, 98, 99, 2000, 2001, 2003, 2007 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.1 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''. man end--> <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; } --></style> </head> <body> <div class="node"> <p> <a name="Subroutines"></a>Next: <a rel="next" accesskey="n" href="Cycles.html#Cycles">Cycles</a>, Previous: <a rel="previous" accesskey="p" href="Callers.html#Callers">Callers</a>, Up: <a rel="up" accesskey="u" href="Call-Graph.html#Call-Graph">Call Graph</a> <hr><br> </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—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>