On Tue, Apr 26, 2005 at 03:54:26PM +0200, Enrico Zini wrote:
> Ciao,
>
> ho scoperto kcachegrind e volevo condividere la cosa.
>
> Praticamente, tu pigli un programma compilato coi simboli di debugging,
> poi lo lanci dentro a cachegrind e lui fa un file di traccia. Poi
> kcachegrind ti visualizza i risultati:
>
> http://kcachegrind.sourceforge.net/cgi-bin/show.cgi/KcacheGrindIndex
> http://dot.kde.org/1031085340/
> http://kcachegrind.sourceforge.net/cgi-bin/show.cgi/KcacheGrindShot3
>
> Per dire, sullo screenshot che hanno in home page, in basso a sinistra
> c'?? ogni funzione, con dentro le funzioni che ha chiamato, e hanno
> un'area proporzionale al tempo che ci hanno speso. Cos?? vedi subito
> cosa va ottimizzato. Il grafico a destra ?? "quale funzione ha chiamato
> chi".
>
> E non c'?? bisogno di ricompilare niente, perch?? hanno dentro
> un'emulatore di cpu (!!).
>
Yes, si basa sul core di valgrind (quello per controllare errori di
memoria e memory leaks). Se non andasse cosi' lento (praticamente
inusabile sul mio k7 550Mhz) sarebbe davvero fico! Altrimenti un
profiler molto buono che non degrada le prestazioni e fa il profiling
di tutto il sistema (kernel e user-space) e' oprofile (oprofile.sf.net
iirc). L'unica cosa e' che non fa il call-trace amenoche patchi il
kernel..
ciao
Luca
|