There's no development tool which cannot be optimized in performance. VS 2008 is not an exception, and the same is valid for the kind of applications you can build with it. Since we all have to make demos in our presentations, its interesting to review some of the most relevant performance & optimization tips, from both points of view: the tool itself, and the applications you can build with it. Besides, in order to let you dig into further research for each topic, I'll give some recommendations in the way of links to articles for different optimization and performance scenarios, or -otherwise- this could become a whole book, and not a "Developer Cave" article.
Under the point of view of VS 2008, I've seen several interesting tips:
· Rebuilding a Visual Basic project and running a background compiler is 3x faster and uses 3x less memory. More about this topic here.
· Scrolling large C# files in the Editor is 100% faster, while typing in new text is 50% faster
· The response time of IntelliSense with large types in C# is up to 10 times faster
· Incremental build time runs up to 90% faster on C++/CLI project solutions. More about this topic here.
· Office Word and Excel files are processed 20x faster on the server
· TFS Version Control command processing was re-written to support unlimited sized operations on key commands without being memory bound on the server. In our measurements, key Commands also run 10% - 60% faster, with the larger improvements associated with bigger projects. More about the work to improve TFS scalability here and here.
Also, there are performance improvements that exploit multi-core hardware. For example,multi-threaded support to MSBuild. In addition, using the /MP switch, you can significantly improve C++ projects' build time – they claim improvements of up to 30% when building the C++ Frontend compiler on dual-core hardware-. Other significant performance improvements were also made in the .NET Framework 3.5 runtime to streamline the CLR thread pool to help multithreaded applications of all kinds. These architectural changes, when combined with socket API changes, improve asynchronous socket I/O throughput up to 70% when a 2nd processor core is available, for example.The full scope of this work is discussed in more detail here
On the other side, i.e, the application optimization side,
there numerous references of interest, depending of the kind of application to build. The very best I've seen on this topic is a page at dotnetslackers.com entitled "Performance". It's full of links (including some of the above), on many different optimization tips & techniques.
Hope this helps.
Solid Quality Mentors' Development Division
(Spain & Portugal)