VC++ Performance Improvements in VS 2008

Posted by vasudev on October 11 2007, 4:54 PM. Posted in Visual Studio.

 A couple of weeks ago I blogged about the performance improvements in Visual Studio 2008. 


In response to that, several of you asked me for more information on how these types of enhancements had been incorporated into Visual C++. 


Though the performance improvements blog highlighted work the Visual C++ team had done around file-level parallel builds and incremental builds for mixed native-managed projects, there are other things in for VC++ in VS 2008 that I thought would be worth mentioning.  So, here we go:  <o:p></o:p>

<o:p> </o:p>

·         Editor responsiveness – Updating IntelliSense, displaying the QuickInfo tooltip and processing AutoComplete requests won’t degrade editor experience.<o:p></o:p>

·         Goto Definition improvements – Significant reduction in the time required to “Goto Definition”.  One customer reported that a 2 minute delay dropped to 10-20 seconds.<o:p></o:p>

·         Load solution performance – Load time of large Visual C++ solutions is much better.  Some customers are reporting speed ups of 25%-70%.<o:p></o:p>

·         File lookup in projects – Provides improvements to several scenarios such as adding files to projects, changing configurations, etc.<o:p></o:p>

·         Changing configuration options – Modifying options, such as adding an include directory or changing the active configuration, are much faster for large solutions.<o:p></o:p>

·         Reduced CPU consumption – We now process low-priority background items (such as IntelliSense population) using 20% less CPU time.<o:p></o:p>

<o:p> </o:p>

I do hope that all this work will provide a much enhanced IDE experience for C++ developers.  The Visual C++ team is already hard at work on the next major version of Visual C++ and is hoping to address even more performance and scalability issues in the future.  Also, for those of you working on Visual C++ 2005, the team will be releasing a patch that applies the fixes described above to that version as well. <o:p></o:p>

<o:p> </o:p>