Date: prev next · Thread: first prev next last
2012 Archives by date, by thread · List index


Hi Matus,

On Sun, 2012-06-17 at 19:09 +0200, Matúš Kukan wrote:
Part of the result of my GSoC 2011 project is --enable-lto and
--enable-mergelibs.

        :-)

So I tried --enable-lto now just to see what will happen and here is
the summary:

        Nice.

My first experiments were with gcc version 4.6.3
It somehow works but not so well and proly does not make much sense.
I was not able to use --enable-mergelibs because I have only 3GB RAM
and that's too little for libmerged.

        Oh - wow.

I also got an internal compiler error somewhere.

        Yep, so we should file those bugs I suppoe.

And the produced libraries were similar in the size. (I guess the
difference would be more visible with libmerged)

        :-)

Then I compiled gcc version 4.7.1 and it's much better.
Thanks to the gcc guys.
It's also possible to build current libmerged.

        Nice.

Here are few differences in size (not stripped): LTO / not-LTO
total size of workdir/*/LinkTarget/Library: 290M / 304M

        Goodness - an un-stripped library is of a random size; highly affected
by debuginfo / symbol tables etc. IMHO it is only worth comparing
stripped library sizes; can you easily generate those ? :-)

libmerged    47M / 53M
libwpftdrawlo.so    21M / 21M
libswlo.so    17M / 18M
libsclo.so    14M / 15M
liblocaledata_others.so    5.7M / 3.9M
liblocaledata_euro.so    4.5M / 3.1M
..
so sometimes is creates bigger libraries.

        That is interesting; so - Jan - how well does LTO cope with -Os vs. -O2
etc. and/or Matus - what compile flags are we using ?

Maybe it's not all about the size ?

        :-) well; we want to be smaller of course. Potentially getting more
code inside the libmerged perimiter helps - and potentially better
visibility markup so that the LTO can know that a given function is not
used outside of that libmerged is useful. So far we have only a markup
that says "used outside of un-merged library", really we need to split
that into two types of markup that distinguish whether it is used
outside of libmerged or not (I think).

Someone wants to play with the speed differences if that's possible
to measure ?

        I was primarily hoping for size reduction myself :-) from eliminating
dead / bogus code. Perhaps the stripped numbers, and/or some insight
from Jan will help here.

        Thanks ! this was a great GSOC project :-)

        ATB,

                Michael.

-- 
michael.meeks@suse.com  <><, Pseudo Engineer, itinerant idiot


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.