![intel c compiler intel c compiler](https://i.imgur.com/SAYRaDx.png)
While optimizing some geophysics code (Q2, 2013) to run on Sandy Bridge-E Xeons, I had an opportunity to compare the performance of ICC 11.1 against GCC 4.8.0, and GCC was now generating faster code than ICC. Single-threaded code with a 5-level nested loop.Īlthough autovectorization is enabled, neither compilers generate vectorized code (not a fault of the compilers) The options are specific to just the file containing the compute-intensive code, where I know there is no aliasing. Gcc options: -O3 -msse3 -mfpmath=sse -fargument-noalias-global
![intel c compiler intel c compiler](https://www.linuxadictos.com/wp-content/uploads/intel-android.jpg)
I suppose it varies depending on the code, but with the codebase I am working on now, ICC 11.035 gives an almost 2x improvement over gcc 4.4.0 on a Xeon 5504. The programs were clean enough to enable strict aliasing. Update: I was also enabling optimizations/extensions for Core2Duo.
![intel c compiler intel c compiler](https://reference.wolfram.com/language/CCompilerDriver/tutorial/Files/SpecificCompilers.en/O_2.png)
results outperformed distributions of popular performance libraries).įinally, the programs were written over several years, using GCC as the primary compiler in that time. I never measured poorly written programs in this test (i.e. I prefer to avoid those because the wind may change direction with the next compiler release, so to speak. GCC alone generated the slowest code, though it can be as fast with measurement and nano-optimizations. Intel won for out of the box, number crunching on huge data sets. It handled raw processing very well, but I give GCC+LLVM the cake because when put into the context of a larger (normal) program. Intel's results varied it handled some programs far better, and some programs far worse. For programs which I'd written before I took optimization seriously (as I wrote), Intel was generally better. The generated code may have significant variance due to the program's construction, and where SIMD could be used.įor the way I write, I found that GCC + LLVM generated the best code. The Intel compiler generated huge object files. GCC handled deep templates very well in comparison to Intel. I tested multiple template heavy audio signal processing programs that I'd written.Ĭompilation times: The Intel compiler was by far the slowest compiler - more than '2x times slower' as another posted cited. I did a little compiler shootout sometime over a year ago, and I am going off memory.