VC++ 2005 optimizations in the real world

I thought I'd share this direct feedback from a customer that attended a recent VC++ 2005 dev lab:

I'm delighted to let you know that my C++ application has been sucessfully compiled, linked (for 64 bit Itanium) with Visual C++ 8 (Visual Studio 2005 Release Candidate) on a 32 bit Windows XP, and runs on an IA64 machine in just 2 days and 30 minutes. The extra 30 minutes I needed today was to resolve a DCOM permission problem. In addition, I didn't have to do nothing for the client applications and they work with the COM server (application) just fine.

2 days and 30 minutes is a record for me in moving an application from one version of the C/C++ compiler to another. We spent several weeks to move from VC++ 6 to VC++ 7. A "very priliminary" test shows a 7% increase in performance between a version compiled with VC++7 (VS2003) vs VC++8 (VS2005) This performance gain by just compile/link with VC++ 8. I can't wait to see the results when I add the WPO and PGO into the application. You guys have done an excelent job in this release and I thank you very much for helping me to get it up and running in such a short time.

When I asked this customer if he would be okay with me sharing his message on my blog, he agreed and also gave me an update how things were going with his optimization efforts:

Now that I've done additional optimizations (WPO and PGO) and more testings of the applications, the results are even better: 43% performance improvement - a set of 6 tests on an IA64 machine: 81.172 secs vs 142.517 secs by an application compiled/linked with VC++8 vs VC++7.

So, a 7% peformance improvement on the IA64 (aka Itanium) architecture just by upgrading to the latest compiler without using any advanced optimizations, and a 43% performance improvement when Whole Program Optimization and Profile Guided Optimization are employed. This is really cool, obviously, although I should note that PGO tends to give much better bang for the buck on 64-bit architectures than it does on x86, so I wouldn't go taking that 43% to the bank just yet for all of your own applications. Not all performance increases will be so dramatic, but it's certainly good to see VC++ optimizations makeing such a great impact on real world code, and it certainly bodes well for those considering a move to the new compiler.