BT

InfoQ Homepage News Improving Responsiveness in Visual Studio 2012

Improving Responsiveness in Visual Studio 2012

This item in chinese

Bookmarks

A recent article by Microsoft Development Manager Eric Knox provides an in-depth look at the internal improvements being made to the editing performance of VS2012. Knox's team has evolved their approach to use more than PerfWatson, and has incorporated the use of a new tool called Immediate Delay Tracker (IDT).

PerfWatson works by collecting "a mini heap dump which allows [Microsoft] to [determine] what Visual Studio code is running at a particular point during the day". As engineers want to monitor VS' performance on a per-keystroke basis, they devised IDT which is "a more fine-grained measurement system" that utilizes Event Tracing for Windows (ETW).

ETW is a general-purpose, high-speed tracing facility provided by the operating system. Using a buffering and logging mechanism implemented in the kernel, ETW provides a tracing mechanism for events raised by both user-mode applications and kernel-mode device drivers. Additionally, ETW gives you the ability to enable and disable logging dynamically, making it easy to perform detailed tracing in production environments without requiring reboots or application restarts.

The advantage of the ETW-based approach according to Knox is that "instead of a single stack like PerfWatson, [the team] can get a call stack every millisecond and then analyze the collection of stacks in aggregate rather than just a single point in time." Engineers working on VS can then obtain useful performance information while minimizing the observer effect. Knox's team monitored internal VS users at Microsoft, and after implementing corrections documented the following performance gains:

 

Visual Studio 2010

Current

C#

 

 

Keys above 50ms

15.05%

7.87%

Keys above 100ms

10.26%

0.62%

Keys above 200ms

1.50%

0.06%

C++

 

Keys above 50ms

11.85%

0.48%

Keys above 100ms

7.88%

0.20%

Keys above 200ms

6.85%

0.07%

VB

 

 

Keys above 50ms

0.83%

0.60%

Keys above 100ms

0.13%

0.06%

Keys above 200ms

0.06%

0.06%

Now that VS 2012 RC is available, have readers can use the product for themselves and determine how visible these changes are.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • How does it fair on VS2008?

    by Sawan Ruparel /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Can you also publish the numbers for VS2008?

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.