[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: gprof - output

From: Ian Lance Taylor
Subject: Re: gprof - output
Date: 29 Mar 2004 11:55:54 -0500
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.3

Rajesh Munavalli <address@hidden> writes:

>      I wrote a small program to analyze the execution profile and
> understand the usage of gprof. I had "clock()" function to time the
> execution along with "gprof" option. Here are the results
> gprof output:
> -------------
> Each sample counts as 0.01 seconds.
>   %   cumulative   self              self     total
>  time   seconds   seconds    calls  ms/call  ms/call  name
>  77.04      6.04     6.04      100    60.40    60.40  testChar()
>  22.96      7.84     1.80      100    18.00    18.00  testStr()
> clock output:
> -------------
> testChar     6 seconds
> testStr     55 seconds
> The results of both are inverse proportional. Could you please explain
> the discrepancy in the gprof output?. Or is there something wrong with
> the way I am timing the program.

You are reading the results incorrectly.  Your use of clock is
measuring what the gprof output describes as "cumulative seconds".  In
that column you will see that testStr does that longer than testChar,
although admittedly not in the same proportion.  The "%" column is the
percentage of execution time taken by that function alone.  testChar
does almost all the work in the function itself; testStr does most of
the work by calling std::string functions.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]