Microsoft Visual Studio 2008 (codename "Orcas") Beta 2 is now available for download. We encourage you to download and try this early release. As the goal of this preview is to gather feedback from the developer community, please use Microsoft Connect to report any issues, or to suggest improvements. You can use the VC++ Orcas Forums to discuss any C++ relates issues.
We look forward to your feedback!
The Visual C++ Development Team.
How about a list of improvements?
I went to your presentation in Israel last Monday. I was very impressed by the PGO demonstration. I have a question regarding that optimization: PGO works on a single executable in a given scenario. Code that uses STL can enjoy the benefits of this optimization, because the STL code is compiled into the executable. Code that uses MFC, however, has a disadvantage: MFC runs in a DLL of its own. This means that not only can it not be optimized within the main executable, it cannot be optimized at its own using the same scenario, unless you go through all the trouble and compile it yourself.
So, in favor of PGO, are you considering letting the MFC code compile into the executable, like STL does?
Re the question: "How about a list of improvements?"
For a starting list, please look at the Orcas Feature Specifications: http://msdn2.microsoft.com/en-us/vstudio/aa948851.aspx under Visual C++.
The reason why the container part of the Standard C++ Library is compiled into the executable is that it is heavily based on class templates and therefore the code is defined in header files. Note: this is not true of all of the Standard C++ Library - there are elements of std:string and especially std::iostream and the like which are not defined in header files and are therefore unavailable for PGO.
Any MFC code that is defined header files is available to PGO - agreed this is not much in the case of MFC but it more in the case of ATL.
In any case the most common usage of MFC is as a dynamic (shared) library and so even if you could PGO'ize this dynamic library for your application this might not be the best optimizations for the other users of the DLL.