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.

        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.me...@collabora.com <><, GM Collabora Productivity
Hangout: mejme...@gmail.com, Skype: mmeeks
(M) +44 7795 666 147 - timezone usually UK / Europe

Reply via email to