VS2010: On Triangles and Performance

In February I blogged about the new look for VS2010.  You gave us a huge amount of feedback which I really appreciate.  I wanted to follow up on a couple of the themes that popped:  the outlining mode with triangles and performance.

Outlining
You spoke loudly and clearly that you didn’t like the triangle outline mode.  Based on this feedback, the team actually changed this feature in mid-flight during Beta 1 to reflect your feedback:  no more triangles!!  Here are some updated screen shots:

image

Hovering the cursor anywhere on the line highlights that region, double clicking the line will collapse it:

image

Once collapsed you can hover over the […] region to see a preview of the underlying buffer:

image

The region can then be expanded again either by clicking on the ellipses or the [+].

I want to thank everyone for weighing in on the new design.  Your feedback directly led to changes in the product and as a result you’ll never see the original design in a public build.

Performance
Performance is another area you called out and something I care passionately about myself.  In the interest of transparency I want to provide some updates about how we are doing and where we are headed.

First, we measure a *lot* of scenarios both with the core of the VS Pro experience but also with TFS server operations.  We have literally hundreds of goals we track in the product.  When a developer checks new code into the tree, it is also measured against a set of those goals to check for regressions (Regression Prevention System or RPS).  As an example of these scenarios, a typical end to end test for VS Pro might include:

  • Start VS & load solution
  • Scroll down in a large file
  • Type a new method
  • Show Add Reference dialog
  • Add new form
  • Show toolbox
  • Add new control to form
  • Add event handler to control
  • Open existing form
  • Build/rebuild
  • Step into (F11 10 times)
  • Stop debugging
  • Close VS (w/solution open)

This is just an example but essentially I want to take a very typical daily usage of the tool and make sure it works really well.  In addition to raw times for every step, we also do a version where we weight some of the steps as more important.  For example you may only start VS once a day (or less) but you are likely to be typing all day long.

We run these scenarios on a variety of hardware, multiple versions of Windows, using our primary languages (C#, VB, C++, etc), using our presentation technologies (XAML, HTML, Windows Forms), etc.

For Beta 1 we are making progress on performance but it is not yet where I want it to be.  For example the VB / Windows Forms application is actually doing pretty well while the VB / ASP.NET application is slower than VS2008 (similar with C#).

I’m committed to having the new innovations in VS2010 (editor, WPF, etc) while still maintaining a fast environment.  I’ve asked Rico Mariani to dedicate a significant amount of time working on performance for this release to help make sure we get there.

Beta 1
We are getting *very* close to releasing Beta 1.  Stay tuned here for the formal announce of the release and keep sending us your feedback!