Quantcast
Channel: Intel® C++ Compiler
Viewing all articles
Browse latest Browse all 1616

Intel C++ compiler produces a HUGE code

$
0
0

Hi,

I'm spending way too much time comparing MSVC and Intel C++ compiler. My current results are that MSVC generates sometimes better code, sometimes worse, but if it is better, than it's just a little, but if it is worse, the proportions are worse. Since my code is highly dependent on floating point signal processing, I assume the better vectorization and AVX dispatching could be the reason. So I'm keen on switching to Intel compiler.

BUT MSVC output executables are almost 2x smaller than Intel executables!! To be specific, a big project of mine has 44MB by intel and 24MB by msvc. This makes it rather difficult to justify the rather small difference in performance. I also tried to zip them just to see the difference in entropy and msvc compressed to 5 MB, intel to 6 MB. That looks like there's a lot of redundant data in the executables and I'm thinking if I'm not missing some compiler/linker option to remove these things. Here are my command lines (just options, some of them are probably doing nothing, just borrowed from msvc) :

Compiler:

icl.exe /GR- /bigobj /Ot /Ox /Ob2 /Oy /Oi /O3 /arch:SSE2 /Qvec-report /ansi-alias /Qftz /QaxAVX /Qrestrict /MT /GS- /TP /D_MBCS /Wp64 /c /W3 /EHsc /GF /Gd /Gm- /Zc:forScope /nologo

Linker:

icl.exe /link /INCREMENTAL:NO /RELEASE /MACHINE:X86 /SUBSYSTEM:WINDOWS,5.01 /DLL /nologo /MANIFEST:NO /OPT:REF /OPT:ICF

Thanks in advance!

 


Viewing all articles
Browse latest Browse all 1616

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>