Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion.

Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules.

 

Go Back   Doom9's Forum > Programming and Hacking > Development

Reply
 
Thread Tools Search this Thread Display Modes
Old 13th February 2020, 00:06   #1  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,073
Older compiler versions produce faster code?

I did a small performance test with a CPU-bound application that I'm currently working on and came to realize that older compiler versions seem to produce much faster code.

If we ignore that MSVC++ seems to fail miserably at generating x86 (32-Bit) code, the latest versions of both, MSVC++ and GCC, produce significantly slower code than the older versions of the same compiler:



Smaller is better. Each binary was measured 8 times, and only the fastest run was kept. Source code and compiler flags (especially things like "-O", "-march" and "-mtune") were the same for all compiler versions.

I know that this is just one specific application, so the results certainly can not be generalized. But any idea what's going on?

Do the latest compiler versions really contain serious performance regressions for this type of application, or did the defaults for some influential compiler settings change between the different compiler versions?

At least GCC has so many options and flags, that I have no idea, whether GCC 9.x can be tweaked to produce code as fast as GCC 5.x...
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.



Last edited by LoRd_MuldeR; 13th February 2020 at 00:25.
LoRd_MuldeR is offline   Reply With Quote
Old 13th February 2020, 01:11   #2  |  Link
Groucho2004
Cranky Fossil
 
Groucho2004's Avatar
 
Join Date: Mar 2006
Location: A wretched hive of scum and villainy
Posts: 4,571
I have noticed these differences with Intel C/C++ compilers. However, it very much depends on the code.
__________________
Groucho's Avisynth Stuff
Groucho2004 is offline   Reply With Quote
Old 13th February 2020, 02:07   #3  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 7,490
Spectre mitigations in MSVC ??? [think it results in slower code]

https://devblogs.microsoft.com/cppbl...tions-in-msvc/
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???
StainlessS is offline   Reply With Quote
Old 13th February 2020, 20:42   #4  |  Link
LoRd_MuldeR
Software Developer
 
LoRd_MuldeR's Avatar
 
Join Date: Jun 2005
Location: Last House on Slunk Street
Posts: 13,073
Quote:
Originally Posted by StainlessS View Post
Spectre mitigations in MSVC ??? [think it results in slower code]

https://devblogs.microsoft.com/cppbl...tions-in-msvc/
I don't think so, because the /Qspectre option is off by default. Using this option even requires to install a special component from VS installer (Spectre-mitigated libraries) or the build will fail, as I just figured out

Anyway, even with /Qspectre explicitly enabled, VS2019 performance is the same as before – didn't degrade any further. And, either way, VS2019 produces way slower x64 code than VS2010.
__________________
There was of course no way of knowing whether you were being watched at any given moment.
How often, or on what system, the Thought Police plugged in on any individual wire was guesswork.



Last edited by LoRd_MuldeR; 13th February 2020 at 20:50.
LoRd_MuldeR is offline   Reply With Quote
Old 19th February 2020, 17:24   #5  |  Link
FranceBB
Broadcast Encoder
 
FranceBB's Avatar
 
Join Date: Nov 2013
Location: Germany
Posts: 736
Interesting...
I didn't expect an older version to produce faster code.
By the way, I wonder how Intel Parallel Studio performs when it compiles the same code...
__________________
Broadcast Encoder
Avisynth memes: 1 - 2 - 3
Videotek - Audacity XP - LUT Collection
FranceBB is offline   Reply With Quote
Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +1. The time now is 07:08.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.