There are several reasons to program in C++, and one of the most important ones is the incredible performance that one can obtain.

There are a set of optimizations that the Microsoft Visual C++ compiler offers to perform on your binaries to yield the best performance for your application on varying hardware (for e.g. via compiler switches such as /O2, Profile-Guided Optimization (PGO) and Link-Time Code Generation (LTCG) etc.).

We are reaching out to you to get your feedback on the optimizations the compiler offers today and other potential optimizations that we can introduce to help get better performance from your application.

Please take a few minutes to complete this survey. Your answers to this survey will help us make the right investments for future releases of Visual Studio. Completing this questionnaire should take about 20minutes to finish.

There are a few questions in the survey about build times, but the focus seems to be on optimization and run-time performance. So if we have comments about build times (the speed of the compiler/linker), are they out of scope for this survey?

Adam

10 Jul 2012 6:56 AM

grumpy: The questions about build times are probably provided because compiler optimizations are frequently a tradeoff between increased runtime performance and increased compile times.

If your application ran 10% faster, but took 100% longer to compile, is that an acceptable tradeoff? It could be if your build only took a minute or two to begin with. But if your build took over an hour to begin with, you'd probably argue the other way.

On stackoverflow question mentioned above, the answer from "vulcan raven" is the official Microsoft VS team reply. But how nice would it be if we have such optimizations automatically at compile time.

Doug

6 Aug 2012 1:59 PM

The linker! Parallelize the linker!

Link time code generation generates really good code, but beyond a toy project, the build performance is terrible. It is exactly one thread and never even creates a thread at all, let alone is it parallelized. Give the option to use memory for build/link performance. Some of us have 24GB dev machines.