<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the gprof profiler of the GNU system.

Copyright (C) 1988-2014 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".
 -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>GNU gprof: Subroutines</title>

<meta name="description" content="GNU gprof: Subroutines">
<meta name="keywords" content="GNU gprof: Subroutines">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Call-Graph.html#Call-Graph" rel="up" title="Call Graph">
<link href="Cycles.html#Cycles" rel="next" title="Cycles">
<link href="Callers.html#Callers" rel="prev" title="Callers">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Subroutines"></a>
<div class="header">
<p>
Next: <a href="Cycles.html#Cycles" accesskey="n" rel="next">Cycles</a>, Previous: <a href="Callers.html#Callers" accesskey="p" rel="prev">Callers</a>, Up: <a href="Call-Graph.html#Call-Graph" accesskey="u" rel="up">Call Graph</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>
<hr>
<a name="Lines-for-a-Function_0027s-Subroutines"></a>
<h4 class="subsection">5.2.3 Lines for a Function&rsquo;s Subroutines</h4>

<p>A function&rsquo;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&rsquo;
fields correspond to the fields of the primary line, but their meanings
are different because of the difference in context.
</p>
<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:
</p>
<div class="smallexample">
<pre class="smallexample">index  % time    self  children called     name
&hellip;
[2]    100.0    0.00    0.05       1         main [2]
                0.00    0.05       1/1           report [3]
</pre></div>

<p>Here are the meanings of the fields in the subroutine-line for <code>main</code>
calling <code>report</code>:
</p>
<dl compact="compact">
<dt><code>self</code></dt>
<dd><p>An estimate of the amount of time spent directly within <code>report</code>
when <code>report</code> was called from <code>main</code>.
</p>
</dd>
<dt><code>children</code></dt>
<dd><p>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>
<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>.
</p>
</dd>
<dt><code>called</code></dt>
<dd><p>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>&rsquo;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>.
</p>
</dd>
<dt><code>name</code></dt>
<dd><p>The name of the subroutine of <code>main</code> to which this line applies,
followed by the subroutine&rsquo;s index number.
</p>
<p>If the caller is part of a recursion cycle, the cycle number is
printed between the name and the index number.
</p></dd>
</dl>

<hr>
<div class="header">
<p>
Next: <a href="Cycles.html#Cycles" accesskey="n" rel="next">Cycles</a>, Previous: <a href="Callers.html#Callers" accesskey="p" rel="prev">Callers</a>, Up: <a href="Call-Graph.html#Call-Graph" accesskey="u" rel="up">Call Graph</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>]</p>
</div>



</body>
</html>
