title: Confusing gprof output
body: <p>I ran <code>gprof</code> on a C++ program that took <code>16.637s</code>, according to <code>time()</code>, and I got this for the first line of output:</p>
  
  <pre><code>%   cumulative   self              self     total           
  time   seconds   seconds    calls   s/call   s/call  name    
  31.07      0.32     0.32  5498021     0.00     0.00  [whatever]
  </code></pre>
  
  <p>Why does it list <code>31.07%</code> of time if it only took <code>.32</code> seconds? Is this a per-call time? (Wouldn't that be self s/call?)</p>
  
  <p>This is my first time using <code>gprof</code>, so please be kind :)</p>
  
  <p>Edit: by scrolling down, it appears that gprof only thinks my program takes 1.03 seconds. Why might it be getting it so wrong?</p>