Cameron McColl Developer Visual Basic Team.  VB Compiler Architecture Overview  Best Practices  Known Issues/Common pitfalls  Improvements made for

Download Cameron McColl Developer Visual Basic Team.  VB Compiler Architecture Overview  Best Practices  Known Issues/Common pitfalls  Improvements made for

Post on 24-Dec-2015

214 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

  • Slide 1
  • Cameron McColl Developer Visual Basic Team
  • Slide 2
  • 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
  • Slide 3
  • 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
  • Slide 4
  • 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
  • Slide 5
  • 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 Dont let your files grow too large Limit the number of files per project Limit the number of projects per Solution
  • Slide 6
  • For a detailed look at developing code with performance in mind: Microsoft Press: Improving.NET Application Performance and Scalability ISBN: 0-7356-1851-8
  • Slide 7
  • Code located on network share Custom Code Snippets Processing XML Comments NVidia nView Manager Too Many Task List items 3 rd Party Addins
  • Slide 8
  • Compiler Throughput Reduced decompilations Reduced memory requirements Better caching models Improved Build Throughput Debugging Experience Stability = Less Crashes IDE Responsiveness
  • Slide 9
  • VS2005VS2008
  • Slide 10
  • VS2005VS2008
  • Slide 11
  • VS2005VS2008
  • Slide 12
  • Slide 13
  • 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.
  • Slide 14
  • 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
  • Slide 15
  • 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 vbperf@microsoft.com
  • Slide 16
  • 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)
  • Slide 17
  • 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
  • Slide 18