Help Improve Visual Studio performance

1 minute read

Performance is something that we can never have enough off. Nobody minds if things would go faster,in fact we always want things to go faster now matter how fast they already are (and any speed improvement won’t be noticeable).

In terms of performance my favorite phrase is a quote from djb “profile don’t speculate”. If you ever tried to optimize code, after you take care of the low hanging fruit making things go faster requires  experimentation, analysis and specially a lot of hard data that you can act upon, so you can optimize the most common paths and operations.

Microsoft has released a tool that can exactly (helo them) do that. Collect real data while you are running Visual Studio in a real environment and allow them to see where are the hotspots in the code, what is most being used and which things are taking longer than they should and report those situations automatically without the need of your intervention (the data is not traceable, it’s anonymous and you have control when the data is sent). Basically the tool detects when the UI has become unresponsive, records information about the length of the unresponsiveness and the root cause of it.

This tool is called PerfWatson it works like a telemetry station getting hard data about VS performance. It’s being distributed as a VS package so installation is a snap and as easy it can get.

VS team uses the aggregation of this data from everyone that is contributing to this effort and uses it to prioritize the options that are needed.

The PerfWatson extension can be downloaded from the Visual Studio Extension Manager or at the VS Gallery.

The gallery page has configuration instructions, there is nothing to configure besides making sure that WER is enabled.

The mininum requirements to run PerfWatson are:

Following are the pre-requisites for installing Visual Studio PerfWatson:

  • Windows Vista/2008/2008 R2/7 (Note: PerfWatson is not supported for Windows XP)
  • Visual Studio 2010 SP1 (Professional, Premium, or Ultimate)