Re: gprof / profiling support ?

From: Jakob Østergaard (jakob@unthought.net)
Date: Wed Feb 06 2002 - 15:09:12 EST


On Tue, Feb 05, 2002 at 03:20:47PM -0800, Dave Francheski wrote:
> I'm trying to profile an application
> using the 'gprof' utility, and in particular
> get timing information from the profile.
>
> For some reason, the output from gprof
> displays
>
> "no time accumulated"
>
> and I see no cumulative/self seconds
> at all. However, all of the call counts
> appear to be correct.
>
> I suspect that the sampling rate using
> by gprof/linux is simply two slow, given
> the particular application I'm running.
>
> Can anybody help me obtain timing information
> from gprof and/or point me to a better
> source for application profiling in general?

This is way OT for linux-kernel, but here goes:

If you application runs for a very short amount of time (say, less than a
second) the profile will probably be dominated by glibc startup, application
initializations and exit routines. It's useless. That you don't have
time accumulated is the least of your problems - even with the times, your
profile would be random numbers and random function names.

In order to profile *anything* - you should make sure that it runs for a while
(I would say minutes at least, but it depends very much on the complexity of
your application, eg. number of functions involved, and how their run-time is
affected by data input and the environment (timing-sensitive threaded
applications etc.)). You simply need a good data sample, otherwise any data
you have will be dominated by noise, and your profile will be random.

If it's a very small computational routine, simply put it in a
   for (int i = 0; i != 100000; i++) { ... }

-- 
................................................................
:   jakob@unthought.net   : And I see the elder races,         :
:.........................: putrid forms of man                :
:   Jakob Østergaard      : See him rise and claim the earth,  :
:        OZ9ABN           : his downfall is at hand.           :
:.........................:............{Konkhra}...............:
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Thu Feb 07 2002 - 21:00:53 EST