180 likes | 336 Views
Cameron McColl Developer Visual Basic Team. Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008. Overview:. VB Compiler Architecture Overview Best Practices Known Issues/Common pitfalls Improvements made for 2008 Demos of Performance Improvements for 2008
E N D
Cameron McCollDeveloperVisual Basic Team Live from Redmond:VB9 - Performance Improvements in Visual Studio 2008
Overview: • 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
VB Compiler Architecture Overview • 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:
VB Compiler Architecture Overview (cont) • 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
Best Practices • 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
Best Practices (cont) • For a detailed look at developing code with performance in mind: • Microsoft Press: “Improving .NET Application Performance and Scalability” • ISBN: 0-7356-1851-8
Known Issues & Common Pitfalls • Code located on network share • Custom Code Snippets • Processing XML Comments • NVidianView Manager • Too Many Task List items • 3rd Party Addins
Improvements made for 2008 • Compiler Throughput • Reduced decompilations • Reduced memory requirements • Better caching models • Improved Build Throughput • Debugging Experience • Stability = Less Crashes • IDE Responsiveness
Demos of Performance Improvements for 2008:Code Dropdowns are now Asynchronous VS2005 VS2008
Demos of Performance Improvements for 2008:Loading a Solution is now Asynchronous VS2005 VS2008
Demos of Performance Improvements for 2008:Stepping in the Debugger is much faster VS2005 VS2008
Demos of Performance Improvements for 2008: Progress Dialog with Cancel button
Notes on the Wait Dialog: • 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.
How to deal with a performance problem • 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
How to deal with a performance problem (cont) • 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. • vbperf@microsoft.com
What happens with a reported issue (Watson)? • 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)
What happens with a reported issue (manual)? • 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