I believe Intel allows you to use its ICC compilers under Linux for non-commercial development for free. ICC beats gcc and Visual Studio hands down when it comes to code generation for x86 and x86-64 (i.e. it typically generates faster code, and can do a decent job of auto-vectorization (SIMD) in some cases).

Note that the compilers in the free Visual Studio Express versions are intentionally crippled when it comes to optimisation. You need to buy the full version if you want even the relatively poor optimisation support that Microsoft provides.
–
Paul RApr 20 '10 at 7:11

@Paul R: I know that used to be true when MS first started the Express versions of VS (and assume still is). but is it true for the compilers in the SDK? not so sure that it is ... need to google it :-)
–
steelbytesApr 20 '10 at 14:05

from blogs.msdn.com/windowssdk "What’s new in the WinSDK v7.1 release? ... VC++ 2010 RTM compilers/CRT with improved compilation performance and speed. These are the same compilers and toolset that ships with Visual Studio 2010"
–
steelbytesApr 20 '10 at 14:10

I tested VS 2008 Express recently and found this to be the case. I haven't looked at VS 2010 Express yet to see whether that policy has changed. Note however that VS - even the full version - typically generates poorer code than either gcc or ICC.
–
Paul RApr 20 '10 at 14:13

fine, but my orig post was about the compilers that came with the SDK, not the compilers in Express. Have you tested those?
–
steelbytesApr 21 '10 at 2:23