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

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

 



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



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

  Powered by Linux