VSTS Profiler

Visual Studio Team System Profiler is a commercial profiler offered by Microsoft, available as part of the Visual Studio Team System (VSTS) suite and the Development Edition of Visual Studio. It can work either in sampling mode, in which the snapshot of the program state is recorded at certain intervals, or in instrumentation mode, where statistic gathering probes are injected at entry and exit point of functions. While the instrumentation mode allows more accurate statistics to be gathered, it also makes the program run more slowly while being profiled.

The VSTS profiler helps to optimize performance of code targeted for the .NET Framework platform or natively compiled Visual C++ code. Modern versions of the VSTS profiler can be used to profile both 32-bit and 64-bit Windows programs. The profiler reports performance characteristics for methods which are called during a given run of the profiler including the number of calls to the function and the call stack when the function was called.

From within the profiler, the application is launched and executed normally for a period of time. When the user decides to exit the program, the profiler gives a summary of the number of times that each function was called, the elapsed time of each function, and the memory consumed by objects.

A standalone version of the VSTS profiler can also be installed from the Visual Studio Team System DVD, and is also available for download on the Microsoft website. While the standalone profiler can be installed or used on any platform, the results it collects can only be analyzed in a version of Visual Studio which includes the profiler.