This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Gprof can account for less than 1/3 of execution time?!?!


Hello Jon,

I'm used to gprof on HPUX and can tell you that on HPUX when we gprof an executable, its only works on all the objects present in the executable but not the shared libs. Actually on HPUX, either you choose to gprof the exe or the libs but not both. When you want both you go to more advanced tools like Caliper.

So I don't know which platform you were running on there and if gcc's gprof works as HPUX's gprof, but if there's the same limitation as with HPUX's gprof, maybe this is what you've hit?

++Cyrille
PS: how can you claim you have eliminated all I/Os?

-----Original Message-----
From: gcc-owner@gcc.gnu.org [mailto:gcc-owner@gcc.gnu.org] On Behalf Of Jon Turner
Sent: Sunday, February 21, 2010 7:27 PM
To: gcc@gcc.gnu.org
Subject: Gprof can account for less than 1/3 of execution time?!?!

I have recently encountered a gross inaccuracy in gprof that
I can't explain. Yes, I know gprof uses a sampling technique
so I should not expect a high level of precision, but the results
I am getting clearly reflect a more fundamental issue.

The program in question has been compiled with -pg for all
source code files. The time command reports 20 seconds of user
time (which is consistent with personal observation) but
the gprof output accounts for only about 6 seconds of the
execution time. I have eliminated all IO from the program,
and the results remain consistent.

Gprof is sampling the program every 10 ms, so in the observed
20 seconds of execution time, it should be taking 2000 samples,
which should be enough to avoid any grows inconsistencies.

Any ideas would be appreciated.

Jon


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]