Re: clang vs gcc build performance (executable not build time)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxxxxx> 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@xxxxxxxxxxxxx <><, GM Collabora Productivity
Hangout: mejmeeks@xxxxxxxxx, Skype: mmeeks
(M) +44 7795 666 147 - timezone usually UK / Europe


--
Arnaud Versini

[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux