comp.lang.ada
 help / color / mirror / Atom feed
* GNAT profiling
@ 2006-03-01  8:23 Alex R. Mosteo
  2006-03-01 14:10 ` ldb
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Alex R. Mosteo @ 2006-03-01  8:23 UTC (permalink / raw)


Ok, after revising some old threads, I see there was a consensus in that 
(at least linux) gprof doesn't work with multitasking programs, and 
there were reports that it neither does with single-task programs.

I'm thus musing what could be a (preferible free) option for code 
profiling. I've successfully used valgrind for memory profiling, but for 
now I'm DoD with this other aspect.

Any suggestions welcome!



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GNAT profiling
  2006-03-01  8:23 GNAT profiling Alex R. Mosteo
@ 2006-03-01 14:10 ` ldb
  2006-03-01 14:19 ` Jeffrey Creem
  2006-03-02 16:59 ` Jean-Pierre Rosen
  2 siblings, 0 replies; 6+ messages in thread
From: ldb @ 2006-03-01 14:10 UTC (permalink / raw)


Have you looked into oprofile?
http://oprofile.sourceforge.net/news/




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GNAT profiling
  2006-03-01  8:23 GNAT profiling Alex R. Mosteo
  2006-03-01 14:10 ` ldb
@ 2006-03-01 14:19 ` Jeffrey Creem
  2006-03-01 14:48   ` Alex R. Mosteo
  2006-03-02 16:59 ` Jean-Pierre Rosen
  2 siblings, 1 reply; 6+ messages in thread
From: Jeffrey Creem @ 2006-03-01 14:19 UTC (permalink / raw)


Alex R. Mosteo wrote:
> Ok, after revising some old threads, I see there was a consensus in that 
> (at least linux) gprof doesn't work with multitasking programs, and 
> there were reports that it neither does with single-task programs.
> 
> I'm thus musing what could be a (preferible free) option for code 
> profiling. I've successfully used valgrind for memory profiling, but for 
> now I'm DoD with this other aspect.
> 
> Any suggestions welcome!

I've certainly used gprof on single threaded programs and it worked fine 
(mostly under Solaris, but still quite a bit under Linux).

One issue has been that for some versions of distribution shipped GCCs 
had pretty broken/bad or incompatible Ada/debug/gprof support.

I know with CentOS 4 things are pretty broken.

Might be interesting to look into oprofile support (might require a 
kernel rebuild).




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GNAT profiling
  2006-03-01 14:19 ` Jeffrey Creem
@ 2006-03-01 14:48   ` Alex R. Mosteo
  2006-03-01 15:07     ` ldb
  0 siblings, 1 reply; 6+ messages in thread
From: Alex R. Mosteo @ 2006-03-01 14:48 UTC (permalink / raw)


Jeffrey Creem wrote:
> Alex R. Mosteo wrote:
> 
>> Ok, after revising some old threads, I see there was a consensus in 
>> that (at least linux) gprof doesn't work with multitasking programs, 
>> and there were reports that it neither does with single-task programs.
>>
>> I'm thus musing what could be a (preferible free) option for code 
>> profiling. I've successfully used valgrind for memory profiling, but 
>> for now I'm DoD with this other aspect.
>>
>> Any suggestions welcome!
> 
> 
> I've certainly used gprof on single threaded programs and it worked fine 
> (mostly under Solaris, but still quite a bit under Linux).
> 
> One issue has been that for some versions of distribution shipped GCCs 
> had pretty broken/bad or incompatible Ada/debug/gprof support.
> 
> I know with CentOS 4 things are pretty broken.
> 
> Might be interesting to look into oprofile support (might require a 
> kernel rebuild).

Thanks ldb and Jeffrey for pointing me to this profiler, certainly seems 
very promising and, according to the webpage, doesn't require kernel 
recompilation but just installing a module.

I will post my experience with it after trying.




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GNAT profiling
  2006-03-01 14:48   ` Alex R. Mosteo
@ 2006-03-01 15:07     ` ldb
  0 siblings, 0 replies; 6+ messages in thread
From: ldb @ 2006-03-01 15:07 UTC (permalink / raw)


It is my experience that you do not need a kernel rebuild unless you
want profiling information inside the kernel, otherwise it'll just lump
all kernel calls into the same group. In that same vein, you may want
to see if you can get a debug-version of glibc in case you need
profiling information inside of glibc. It depends largely on the
application, but with a "debug kernel" and a debug version of glibc,
you can see exactly what your particular program is calling, or whether
an inordinate amount of time is spent in the system (ie, page faults)
or in libc (ie, memcpy()).




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: GNAT profiling
  2006-03-01  8:23 GNAT profiling Alex R. Mosteo
  2006-03-01 14:10 ` ldb
  2006-03-01 14:19 ` Jeffrey Creem
@ 2006-03-02 16:59 ` Jean-Pierre Rosen
  2 siblings, 0 replies; 6+ messages in thread
From: Jean-Pierre Rosen @ 2006-03-02 16:59 UTC (permalink / raw)


Alex R. Mosteo a �crit :
> Ok, after revising some old threads, I see there was a consensus in that 
> (at least linux) gprof doesn't work with multitasking programs, and 
> there were reports that it neither does with single-task programs.
> 
> I'm thus musing what could be a (preferible free) option for code 
> profiling. I've successfully used valgrind for memory profiling, but for 
> now I'm DoD with this other aspect.
> 
> Any suggestions welcome!
Callgrind is an add-on to valgrind for profiling.
I've been quite succesful with it

-- 
---------------------------------------------------------
            J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr



^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2006-03-02 16:59 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-03-01  8:23 GNAT profiling Alex R. Mosteo
2006-03-01 14:10 ` ldb
2006-03-01 14:19 ` Jeffrey Creem
2006-03-01 14:48   ` Alex R. Mosteo
2006-03-01 15:07     ` ldb
2006-03-02 16:59 ` Jean-Pierre Rosen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox