5 ms·
Even when I run them on my amd cpu?
by icefox 16y ago
Even when I run them on my amd cpu?
- kenjackson 16y agoTo answer your question, probably not. icc has a long history of being less good on AMD processors, and almost certainly not on accident. With that said, they don't have a monopoly on x86 compilers. Microsoft's Visual C++ has been about equally good on both platforms and is far more dominant. But with that said, I'm sure you know, that's not really relevant to the discussion at hand :-)
- rbanffy 16y agoSo, the Intel's compiler trounces GCC when the code it emits run on certain x86 processors. And Microsoft's compiler does a much better job when the target runs on Windows on x86 processors. If we narrow the target enough, all comparisons become interesting. I am quite sure GCC will blow both Intel's and Microsoft's compilers out of the water when it comes to compile code for IBM mainframes. I am sure it's much better than Intel's when it comes to target my phone's ARM processor.
- kenjackson 16y agoAnd my blender makes better smoothies than GCC. So your point is that GCC is better at things that other tools aren't attempting at all? OK, good point.
- rbanffy 16y agoYour point was that GCC was not as good at specific things that are the sole focus of the products you mention. Intel's compiler only targets Intel's x86s and Microsoft's compiler only targets the (two or three) OSs Microsoft makes. It's not really an apples to apples comparison. For me the Intel compiler makes sense in certain specific applications (many of my servers are not even x86), but the Microsoft compiler is absolutely worthless.
- kenjackson 16y agoMy point was that GCC is not good at specific things that customers care about (and it is good at other things, but I'd argue these things are more niche, such as retargeting for custom embedded devices). For example, code size, throughput, debugging, and optimization are all places that the Visual C++ compiler is superior than GCC. How many Windows games are written with GCC? How many top-tier Windows apps are written with GCC? If I'm writing a Windows C/C++ application, I'm going to either use Visual C++ or icc. I'll choose icc for code with lots of compute intensive loops or vectorization opportunity. VC is better when icache is an overriding concern. Now that may not be what you do, but to say, "Who in their right mind writes programs for Windows?", I think says more about you than it does about the respective compilers.
- rbanffy 16y agoFrom my point of view, Windows desktop software is a niche. It's a good, big and profitable one, but one I do not take part in. I agree Visual C++ is a great compiler for that specific target. Still, there is a lot more to programming than desktop applications that run on x86 processors under Windows. And embedded ARM processors outnumber desktop x86s by a large margin. I carry at least three of them with me at all times.
- kenjackson 16y agoAnd embedded ARM processors outnumber desktop x86s by a large margin. I carry at least three of them with me at all times. And Visual C++ targets ARM also, and has for years. One of the reasons I've heard bandied about as to why WP7 first party apps are so fast and responsive is because of the quality of the Visual C++ compiler. :-)
- rbanffy 16y agoNone of the ARMs I carry with me run WinMo or had binaries compiled with VC++. The odds of WinMo devices outnumbering competing devices are very slim. But you surprised me now: wasn't WP7 managed code-only? Has MS decided to allow native app code?