Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I assume what you want to do is find out <em>which lines of code are costing you enough to be worth optimizing</em>. That is very different from timing functions. <a href="https://stackoverflow.com/questions/1777556/alternatives-to-gprof/1779343#1779343">You can do better than <strong>gprof</strong>.</a></p> <p><a href="https://stackoverflow.com/questions/375913/what-can-i-use-to-profile-c-code-in-linux/378024#378024">Here's a fairly complete explanation of how to do it.</a></p> <p>You can do it by hand, or use one of the profilers that can provide the same information, such as <a href="http://oprofile.sourceforge.net/news/" rel="nofollow noreferrer"><em>oprofile</em></a>, and <a href="http://www.rotateright.com/" rel="nofollow noreferrer"><em>RotateRight/Zoom</em></a>.</p> <p>BTW, inlining is of significant value only if the routines being inlined are small and don't call functions themselves, and if the lines where they are being called are active enough of the time to be significant.</p> <p>As for the order of magnitude performance ratio between debug and release build, it may be due to a number of things, maybe or maybe not the inlining. You can use the <a href="https://stackoverflow.com/questions/406760/whats-your-most-controversial-programming-opinion/1562802#1562802">stackshot</a> method mentioned above to find out for certain just what's going on in either case. I've found that debug builds can be slow for other reasons, like recursive data structure validation, for example.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload