4 ms·
I think thats because GCC will compile anything anywhere. MS is only Windows platform, and ICC prefers Intel x86 CPUs. Since the other compilers didn't stand a
by psadauskas 16y ago
I think thats because GCC will compile anything anywhere. MS is only Windows platform, and ICC prefers Intel x86 CPUs. Since the other compilers didn't stand a chance to compete with GCC on portability, the only other thing they could compete with it on was performance. Since they focused on it, they should clearly be more performant in their niche.
- kenjackson 16y agoSince the other compilers didn't stand a chance to compete with GCC on portability, the only other thing they could compete with it on was performance. Since they focused on it, they should clearly be more performant in their niche. I think your skewed world view is apparent here. MS and Intel certainly didn't come and say, "One of our top priorities is portability. How can we target our compilers to platforms that we have nothing to do with? Oh wait, GCC already does that!" Of course not. Honestly, GCC has been an afterthought for most of the history of C/C++. It's only now that it is effectively dead that GCC has started to become competitive. MS was focused on Borland for years (and it actually didn't generally revolve around perf, but generally build throughput). Likewise, Intel was focused on SPEC against xlc and other architecture specific compilers. And as I said in another post, they (GCC, Intel, MS) have different priorities. If your goal is to have a somewhat portable C/C++ compiler then GCC is the way to go. If you want the best perf/throughput on a specific target then MS and Intel are your best choice.