Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

18
LIVE FROM REDMOND: VB9 - PERFORMANCE IMPROVEMENTS IN VISUAL STUDIO 2008 Cameron McColl Developer Visual Basic Team

description

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 - PowerPoint PPT Presentation

Transcript of Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

Page 1: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

LIVE FROM REDMOND:VB9 - PERFORMANCE IMPROVEMENTS IN VISUAL STUDIO 2008

Cameron McCollDeveloperVisual Basic Team

Page 2: 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

Page 3: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

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:CS_NoState

CS_Declared

CS_Bound

CS_TypesEmitted

CS_Compiled

Page 4: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

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

Page 5: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

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

Page 6: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

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

Page 7: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

Known Issues & Common Pitfalls

Code located on network share Custom Code Snippets Processing XML Comments NVidia nView Manager Too Many Task List items 3rd Party Addins

Page 8: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

Improvements made for 2008 Compiler Throughput

Reduced decompilations Reduced memory requirements Better caching models

Improved Build Throughput Debugging Experience Stability = Less Crashes IDE Responsiveness

Page 9: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

Demos of Performance Improvements for 2008:Code Dropdowns are now Asynchronous

VS2005 VS2008

Page 10: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

Demos of Performance Improvements for 2008:Loading a Solution is now Asynchronous

VS2005 VS2008

Page 11: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

Demos of Performance Improvements for 2008:Stepping in the Debugger is much faster

VS2005 VS2008

Page 12: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

Demos of Performance Improvements for 2008: Progress Dialog with Cancel button

Page 13: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

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.

Page 14: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

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

Page 15: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

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. [email protected]

Page 16: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

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)

Page 17: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

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

Page 18: Live from Redmond: VB9 - Performance Improvements in Visual Studio 2008

Q & A