Cameron McColl Developer Visual Basic Team
VB Compiler Architecture Overview Best Practices Known Issues/Common pitfalls Improvements made for 2008 Demos of Performance Improvements for 2008 How to deal with a performance problem What happens with a reported issue Q & A
Rich set of UI features in the Visual Studio IDE VB compiles user code on a Background (BG) Thread Each project in the solution is compiled through 5 internal states: CS_NoStateCS_DeclaredCS_Bound CS_TypesEmi tted CS_Compiled
The BG Thread compilation enables many VB specific IDE features When an edit occurs the compiler determines the type of change and decompiles the affected projects and files BG Thread will then begin to compile all projects once again Some IDE features require the project has reached a certain internal state before it can complete
Get the latest product Visual Studio 2008 addresses many of the biggest performance issues – very dramatically in some cases SP1 for Visual Studio 2005 address several large issues Method size Avoid doing too many tasks in a single method Avoid excess methods per container Don’t let your files grow too large Limit the number of files per project Limit the number of projects per Solution
For a detailed look at developing code with performance in mind: Microsoft Press: “Improving.NET Application Performance and Scalability” ISBN:
Code located on network share Custom Code Snippets Processing XML Comments NVidia nView Manager Too Many Task List items 3 rd Party Addins
Compiler Throughput Reduced decompilations Reduced memory requirements Better caching models Improved Build Throughput Debugging Experience Stability = Less Crashes IDE Responsiveness
VS2005VS2008
VS2005VS2008
VS2005VS2008
The goal is to never see this dialog. If you see this regularly then we clearly have a performance problem and you should report it to us directly. Dialog appears if a UI operation takes more than 2 seconds.
What changed most recently? Try to isolate the exact steps to reproduce the problem Check for the common pitfalls listed previously Change one thing at a time Make sure you have the latest Service Pack Search MSDN and Forums for similar issues
If you are sure that the problem is a performance issue with Visual Studio itself feel free to contact us directly and we will work with you to diagnose the problem.
Dump file created by customer or CSS Dump file uploaded to central server MS team attempts to identify cause Fix is made in next possible version (sometimes patch)
When the product is too slow we can help in 2 ways: Customer can send their solution to Microsoft (fastest) Create a dump file using a tool and upload to Microsoft manually