[maemo-developers] oprofile on ARM
From: Felipe Contreras felipe.contreras at gmail.comDate: Thu Apr 15 17:12:31 EEST 2010
- Previous message: oprofile on ARM
- Next message: oprofile on ARM
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Sun, Apr 11, 2010 at 10:46 AM, Alberto Mardegan <mardy at users.sourceforge.net> wrote: > again I've tried to profile Mapper on the N900, with no results. First I > tried gprof, but it gives me all 0.0 times (and a google search reveals that > this is a common problem in maemo, even though I didn't find an explanation > of it); then I tried oprofile, which gives me an output like this: > > ========== > samples % image name symbol name > 3007 38.3497 no-vmlinux /no-vmlinux > 1083 13.8120 libclutter-eglx-1.0.so.0.8.0 > /usr/lib/libclutter-eglx-1.0.so.0.8.0 > 424 5.4075 libc-2.5.so memcpy > 336 4.2852 libpng12.so.0.37.0 png_do_expand_palette > 317 4.0429 libz.so.1.2.3 /usr/lib/libz.so.1.2.3 > 286 3.6475 libGLESv2.so /usr/lib/libGLESv2.so > 219 2.7930 ld-2.5.so do_lookup_x > 120 1.5304 libglslcompiler.so /usr/lib/libglslcompiler.so > 55 0.7014 libc-2.5.so _int_malloc > 48 0.6122 libpthread-2.5.so pthread_mutex_lock > 44 0.5612 libpixman-1.so.0.15.3 fbCompositeSolidMask_nx8x8888neon > 36 0.4591 libsrv_um.so /usr/lib/libsrv_um.so > 35 0.4464 libc-2.5.so malloc > 35 0.4464 libsqlite3.so.0.8.6 /usr/lib/libsqlite3.so.0.8.6 > 34 0.4336 libc-2.5.so memset > 34 0.4336 libglib-2.0.so.0.2000.3 g_slice_alloc > 32 0.4081 libglib-2.0.so.0.2000.3 g_hash_table_lookup > [...] > ========== > (I got this output after moving the oprofile collected data into Scratchbox) > > But this doesn't help me, as Mapper's own functions appear on the bottom of > the list and seem to take very little time. I tried to use the "-c" option > of opreport to see the call graph, but it doesn't seem to be working > properly, as for every function it gives this output: > > ========== > ------------------------------------------------------------------------------- > 336 4.2852 libpng12.so.0.37.0 png_do_expand_palette > 336 100.000 libpng12.so.0.37.0 png_do_expand_palette [self] > ------------------------------------------------------------------------------- > ========== > > It seems it cannot resolve the caller, why? Did you try to reinitialize OProfile? > One more question: how can I see the total time taken by a function? I would > expect to see the main() function of Mapper at the top of the list, as it's > clearly the function that takes most time, but it doesn't even appear in the > list at all. > So I assume that these times are net (that is, the time spend in subroutines > is excluded from the function times), which might be useful in some case, > but it definitely prevents me from knowing what functions in Mapper need to > be optimized... I use Gprof2Dot for that: http://wiki.jrfonseca.googlecode.com/hg/gprof2dot.png I just added some basic information for this here: http://elinux.org/OProfile Cheers. -- Felipe Contreras
- Previous message: oprofile on ARM
- Next message: oprofile on ARM
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]