[pso] Code profiling in linux

Tudor Golubenco tudor.g at gmail.com
Tue May 19 14:02:57 EEST 2009


2009/5/15 Andrei Hanganu <handrei at gmail.com>

> Stiu ca nu e neaparat legat de PSO, dar cred ca e cea mai potrivita lista
> de discutii pe care sa intreb.
> Ma intereseaza un mecanism de profiling automat in linux, cu interes sporit
> pentru masurarea timpului de parcurgere a unor pachete/structuri a anumitor
> cai.
> Sistemul care ma intereseaza sa il optimizez merge pe principiul
> boss-workers, si un anumit eveniment trece printr-o serie de cozi de
> prelucrare procesate de threaduri separate.
>

Daca te intereseaza niste timpi specifici, de exemplu care din job-urile de
prelucrare sunt mai scumpe, e de multe ori o idee buna sa-ti adaugi propriul
cod de profiling. Vei avea overhead-ul minim, deci il poti folosi si in
productie. Poti folosi, de exemplu, clock_gettime (2) sa obtii timpi
per thread.


>
> Am incercat sa ma joc cu gprof, dar masoara timpii petrecuti in diferite
> functii per ansamblu.
> Instrumentarae de GCC este draguta dar nu da nici un fel de raportare
> legata de timpii de executie sau petrecuti pe anumite arce.
> M-am mai documentat si pe margina lui oprofile, dar acesta mi s-a parut
> orientat pe profiling la nivel de sistem de operare si nu anumite linii de
> cod.
> Mai exista ceva alternative?
>

Oprofile e ok, ti-as recomanda sa incepi cu el ca profiling general. Poti,
desigur, filtra doar procesul care te intereaseaza. Deasemenea, overhead-ul
este f. mic.

Pentru CPU profilling, mai exista valgrind --tool=callgrind, iar apoi poti
folosi Kcachegrind care iti va face niste grafice foarte utile. Este foarte
cool, dar use with caution: programul se executa pe un procesor virtual, de
aprox 50 ori mai lent.

Tudor

-- 
Tudor Golubenco                 http://golubenco.org

Beware of bugs in the above code; I have only proved it correct,
not tried it.  -- Donald Knuth
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://cursuri.cs.pub.ro/pipermail/pso/attachments/20090519/4bc018b1/attachment.htm>


More information about the pso mailing list