Difference between revisions of "Speedprof"

From Apache OpenOffice Wiki
Jump to: navigation, search
(how to get it)
(patch it)
Line 14: Line 14:
  
 
Then if you're on a reasonably recent system you need to patch it to use new TLS / NPTL threading support instead of the older linux pthreads assumptions; [http://go-oo.org/ooo-build/patches/test/memprof-nptl.diff patch].
 
Then if you're on a reasonably recent system you need to patch it to use new TLS / NPTL threading support instead of the older linux pthreads assumptions; [http://go-oo.org/ooo-build/patches/test/memprof-nptl.diff patch].
 +
 +
=== install it ===
  
 
     configure
 
     configure

Revision as of 16:41, 21 March 2006

what is it

Speedprof is an LD_PRELOAD based itimer (or hard real-time, or builtin CPU timer) based snapshot profiler. It samples at regular intervals (tweakable by reading the code ;-) and then presents a rather sexy data mining view so you can wind back full stack information - what function called what and when, self & cumulative times down trace paths etc.

how to get it

Checkout 'memprof' from GNOME CVS:

   export CVSROOT=':pserver:anonymous@anoncvs.gnome.org:/cvs/gnome'
   cvs login
   cvs -z3 co memprof

patch it

Then if you're on a reasonably recent system you need to patch it to use new TLS / NPTL threading support instead of the older linux pthreads assumptions; patch.

install it

   configure
   make
   make install

how to use it

   speedprof ./soffice.bin -writer

Of course, the most useful mode is to use the 'reset' button - ie. get OO.o going to the state you're interested in. Hit reset - do something slow - hit 'Profile' and wander the trace.

downsides

  • sometimes crashes the app - but hey, sometimes the app crashes under it's own steam too - hard to know whom to blame.
  • doesn't work well with old systems (know to work well on SL10.0 with the patch eg.)
  • doesn't like very long C++ symbols much - makes the columns somewhat unpleasant to use, needs some app tweakage.
Personal tools