Severe performance degradation on Linux

Markus Mohrhard markus.mohrhard at googlemail.com
Sat Jan 3 03:28:27 PST 2015


Hey,

On Sat, Jan 3, 2015 at 12:09 PM, Maarten Hoes <hoes.maarten at gmail.com>
wrote:

>
>
> On Sat, Jan 3, 2015 at 12:37 AM, Jens Tröger <jens.troeger at light-speed.de>
> wrote:
> >
> > Thank you, Maarten,
> >
> > I've run office like so from within the Python script:
> >
> >   p = subprocess.Popen("valgrind --tool=callgrind soffice
> --accept=\"socket,host=localhost,port=2002;urp;StarOffice.ServiceManager\"",
> shell=True, env=myenv)
> >
> > and got five callgrind.out.* files once the script terminated soffice.
> > I ran those through
> >
> >   callgrind_annotate callgrind.out.*
> >
> > Note that I'm using the default office image which (I assume) has no
> > debug symbols.  The data doesn't make much sense.  Considering the loop
> > in question ran for about ~45sec (with and without valgrind?!) then I'd
> > expect an instruction count _much_ larger than a few hundreds of
> > thousands.  In all four profiles, though, libc's _dl_addr and ld's symbol
> > lookup take most of the time.  Not sure I trust these profiles.
> >
> > Attached.
> >
> > Jens
> >
>
>
> Yes, it looks like you are using the libreoffice rpm/deb package that was
> installed on your linux distribution in '/usr/bin/soffice'. I dont think
> that that one will have debugging symbols (at least, not by default. Fedora
> allows you to install 'libreoffice-debuginfo', not sure about Ubuntu).
>
> Im not sure if this will change anything, but could you use the build that
> sits in the sourcetree in 'instdir/program/soffice' when the build finishes
> ? Specify it with the full absolute path, like for example :
>
> /home/buildslave/source/libo-core/instdir/program/soffice
>
> It appears that the default way to build libreoffice, if you dont
> explicitly specify otherwise, is to include the debug symbols (my build has
> them).
>
>
>
Nearly all distros provide debuginfos that will make the callgrind output
somewhat nicer. In a self build tree you need to use --enable-symbols as
option (no enable-debug or enable-dbgutil as they will remove the
optimization that is necessary for useful profiling).

To analyze the callgrind output you should use kcachegrind which provides a
nice UI to go through the results.

Regards,
Markus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/libreoffice/attachments/20150103/7bd81a4b/attachment.html>


More information about the LibreOffice mailing list