clang vs gcc build performance (executable not build time)

Arnaud Versini arnaud.versini at gmail.com
Sat Nov 27 10:06:11 UTC 2021


Hi Michael,

FYI libEngine12 with gcc on my machine is 41MiB with clang and 120 with
gcc, not sure this is normal

Le mar. 23 nov. 2021 à 16:11, Michael Meeks <michael.meeks at collabora.com> a
écrit :

> Hi Arnaud,
>
> On 22/11/2021 16:28, Arnaud Versini wrote:
> > I just tested libreoffice performance between GCC + gold + libstdc++,
> > clang + lld + libstdc++ and clang + lld + libc++ and noticed that gcc
> > builds are slower (at least in this case).
>
>         That sounds like an interesting result; thanks for measuring.
>
> > I will write a blog article
> > with all the process to reproduce but small version, it just converts
> > openDocument standart files (ODF 1.0 to 1.3) to PDF.
>
>         Fair enough =) its good to see the general stability of the
> benchmark
> numbers.
>
> > There is no
> > significant difference between both clang builds (changing lib C++ from
> > libstdc++ to libc++) but gcc is slower than clang. Of course all builds
> > don't use system libraries in this case to compare between lib C++, and
> > builds are optimised and use LTO.
>
>         Looks interesting.
>
>         Lubos - what are our build defaults currently and do you have
> thoughts
> on changing them ? it would be great to poke at Arnaud's blog / work
> as/when it gets published =)
>
> >       OpenSUSE 7.2    Clang + libc++  Clang + std     Gcc + std
> > Run 1         50,923045275    45,456441587    45,878275287
> 49,487550577
> > Run 2         50,360027388    43,83441037     44,303120572
> 47,898307652
> > Run 3         50,258628137    43,552443057    44,332110013
> 47,596628518
> > Run 4         50,062155622    43,587905602    44,616728628
> 47,430735675
> > Run 5         53,567235331    43,548408389    44,561502427
> 47,727024813
> > Run 6         50,354870307    43,877387065    44,107891362
> 47,444552655
> > Run 7         49,663738973    43,92048805     44,583599634
> 47,293633635
> > Run 8         49,780141995    43,843555496    44,055990454
> 47,561677627
> > Run 9         49,763425026    43,398042427    44,011950682    47,65275752
> > Run 10        50,197944032    44,153460819    44,303763557
> 47,974880802
> > Average       50,4931212086   43,9172542862   44,4754932616
>  47,8067749474
> >
> > For information I use openSUSE Tumbleweed latest release.
> >
> > I also noticed that libengine12 is really bigger with GCC but I've not
> > have that data on me now.
>
>         That's interesting too - how much bigger? I would assume that we
> use
> -Os to optimize for size as well as for speed: since huge binaries may
> be more optimal in theory but can be much slower to load and kill your
> cache in practice: but it sounds like this is some combination of bigger
> & slower.
>

FYI libEngine12 with gcc on my machine is 41MiB with clang and 120 with
gcc, not sure this is normal

>
>         I wonder what the compile option difference is.
>
> > I hope this could be an idea of improvement ! Next crazy test I would
> > like to do is between MSVC and clang on windows ! But it seems harder !
>
>         Ah - now that would be lovely being able to use the same compiler
> everywhere =) would be really interesting to compare the performance there.
>
>         Good work !
>
>                 Michael.
>
> --
> michael.meeks at collabora.com <><, GM Collabora Productivity
> Hangout: mejmeeks at gmail.com, Skype: mmeeks
> (M) +44 7795 666 147 - timezone usually UK / Europe
>


-- 
Arnaud Versini
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20211127/7c2798a5/attachment.htm>


More information about the LibreOffice mailing list