The Garbage Collector Manages my Memory

Profiling a .NET application with the Concurrency Visualizer in Visual Studio 11Developer Preview has a less noisy Synchronization profile report than in Visual Studio 2010. The reason is because synchronizing withthe thread driving garbage collection is now categorized as Memory Management.Without this re-categorization, the Synchronization profile report can list outany method as having been blocked by…

2

Performance Improvements for the Concurrency Visualizer

Downloading Symbols As mentioned in http://blogs.msdn.com/b/visualizeparallel/archive/2011/09/19/how-can-visual-studio-11-developer-preview-visualize-the-behavior-of-a-multithreaded-application.aspx there are noticeable performance improvements to the Concurrency Visualizer in Visual Studio 11 Developer Preview. One source of the performance improvements is that it uses the fastest code, i.e., the fastest code is code that never runs. When the Concurrency Visualizer is opening the trace files generated by Event…

0

Profiling DirectX Activity

In Visual Studio 11 Developer Preview the Concurrency Visualizer highlights the way the traced process makes use of DirectX. To see how Internet Explorer 9 makes use of the GPU give the HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\TabProcGrowth registry key a value of 0. Internet Explorer will then only use one process per window. Navigate Internet Explorer to a…

4

I know I’m doing more File I/O than this

One of the changes made to the Concurrency Visualizer in Visual Studio 11 Developer Preview is that it no longers shows all of the disk I/O activity for the System process in the disk I/O swim lanes. In Visual Studio 2010 the disk I/O swim lanes had I/O segments for all of the disk I/O for the…

0

How Can Visual Studio 11 Developer Preview Visualize the Behavior of a Multithreaded Application

Now that you’ve had a day or two to work with the latest build of Visual Studio 11 Developer Preview and the .Net Framework 4.5 Developer Preview, I’m positive that you’re at the point where you would like to visualize the behavior of your multithreaded application. Remembering how you did that in Visual Studio 2010…

0

Processor Cache Misses are Reported as Execution

When refactoring a serial application into a parallel application the minimum bar of acceptable performance is that the parallel application must run from beginning to end in less wall clock time than the serial application. If it doesn’t run faster, there’s no point in doing the refactoring. I was working on making a certain application…

0

Visualizing Concurrency on Production Systems

As interesting as profiling applications on your development computer is, I’m sure you’ve wanted to see the behavior of applications when running in production systems. The ability to view remote traces with the Concurrency Visualizer first requires installing the Visual Studio 2010 profiler on the production system. The installation executable can be found on the…

1

Using the Concurrency Visualizer to Pick the Best Way to Parallelize a Data Set

In the application I am working on, there is a small array of objects (10 – 100 items) and a large array of objects (10,000 – 100,000). I want to know how close each object in the small array is to each object in the large array. Since calculating the value for each candidate item…

0

A TaskScheduler that Limits the Number of Threads

I created an application which uses a Parallel.For loop to create some data and another Parallel.For loop to make comparisons in the data set. This process is repeated a hundred times, with each iteration having a slightly bigger data set. The data is small enough that it is contained in memory and each piece of…

1

Concurrency Visualizer as a Microscope for Execution Dynamics

This is the picture that Concurrency Visualizer team used on the title page of internal specs. It actually reveals how most of us think about our product: not as a profiler (though you can get decent sample profile from it by clicking the green “Execution” category in the legend), and not even as a performance…

0