Search code examples
c++g++icc

gcc/g++ versus icc


Which is more popular in the industry software development business? Some people argue gcc/g++ is more popular on linux, while icc is more popular on windows. Anything else to choose one over the other?


Solution

  • I'd expect gcc/g++ is more popular on open-source OSes.

    MSVC would be more popular on Windows.

    icc would be popular for those who are trying to extract every last bit of performance from their app and who don't want to hand-optimize in x86 assembler the bottlenecks in their app.

    Not sure about the latest versions, but earlier versions of icc that supported SIMD instructions (like SSE and MMX, etc.) had code to ensure that the SIMD code path was only executed for Intel-branded CPUs. So AMD et al. went along a much slower code path. Some attributed the behaviour to malice towards non-Intel CPUs, more likely is that the icc folks didn't bother to test non-Intel CPUs and were being 'safe'/conservative.