Microsoft's Visual Studio 2013 Performance Tuning
Microsoft has consistently worked to improve the day-to-day performance of Visual Studio with each of its recent releases. VS2012 introduced asynchronous loading which sought to speed the loading of larger solutions so that developers could get to work quicker upon starting Visual Studio.
As Microsoft's Ben Bradley observes, users have continued to ask for faster solution load times. With VS2013, the work to reduce loading time continues. In this round, Bradley states that the team sought to identify what files are most important to a user at the time they had previously closed the Visual Studio. Then the program could prioritize their availability to the user when they next started Visual Studio. The user can then start working while the remaining files in the solution are loaded.
Going a step further, after additional research Bradley says the team faced a decision on when exactly these remaining (or deferred) files are loaded. If they are loaded while the user is editing, they could impact the responsiveness of the IDE. So the team has chosen to load the deferred files only on-demand, as the user needs them. This means in some cases some files never need to be loaded during a working session. It also means that in other cases with large solutions the user will be able to get started sooner but have more situations where the developer will have to pause for less frequently used files to load.
The changes to the loading process join the previously announced C++ IDE performance improvements. The first area addressed was improving configuration switching. Microsoft Software Engineer Li Shao reports gains of 75% over VS2012. Responsiveness when typing in the main editor, faster C++ build throughput, and increased collection of real-world Visual Studio usage patterns are highlights of the other changes being made.
With the release of Visual Studio last week, the official RTM code can now be used without reservations in production environments. If you have had the opportunity to open some of your current projects with this release, you are encouraged to share your feedback about the performance differences (good or bad) below.
VERY misleading title