Browse by Tags

It has been a 9 months since the last public version of PerfView, so today I have updated the PerfView Download location from version 1.6 to Version 1.7.
Here are some of the new features that I think are noteworthy. You can look at the Help -> Release Notes for more information on detailed changes...

In my August blog I announced that the TraceEvent library for parsing Event Tracing for Windows (ETW) information was released as a Nuget package.
Well I have updated that package to with several months of updates and declared it a release candidate. You can get the TraceEvent Nuget package or if...

It has been over 6 months since the last public release of PerfView , so I felt it was time to refresh the download center.
For those of you who don't know about it is frankly the tool that I use to do most of my performance investigations with. If you have a performance issue on Windows and don't...

I have updated my blog entry on collecting ETW data on an ARM WinRT device . Previously I told you to use the WPR's 'GeneralProfile' to collect the data. This is OK for some investigations, but does not collect all the same events that PerfView would have collected (most notably GC events, JIT compile...

As part of a conference that I participated in this week, I have created a lab on using PerfView to investigate Memory issues.
The lab covers both managed and unmanaged code techniques.
The ZIP file below of two Visual Studio 2012 projects which create leaky apps (one C++ and one C#), as well as...

Yesterday's blog post was showing how you can use EventSource to generate ETW events and the TraceEvent library to read them in 'real time'.
Today we will do a slight variation on that example. Instead of reading the events in real time, we will simply log them to a file, and then later (it happens...

Performance analysis is my job, and so I answer a lot of questions about perf, and this blog is about a frequently asked question I get.
When doing CPU analysis, many profilers, including the PerfView tool are sampling profilers. In particular, for PerfView, by default every millisecond it will stop...

If any of you have tried to run PerfView a Surface or other WinRT device, you will find that it does not work. Basically any program that is NOT a windows store application needs to be signed with a special key or it simply will fail to run on a ‘locked’ device (most devices are locked)....

ASP.NET applications are one of the more common uses of .NET code today, and the PerfView tool has some special support for profiling them. I created the video 'Wall Clock Analysis of ASP.NET Applications' as part of the PerfView tutorial video series . You can learn more about wall clock time analysis...

Event Tracing for Windows (ETW) is a fast, scalable logging mechanism built into the Windows operating system. It is powerful because of three reasons
The operating system comes pre-wired with a bunch of useful events
It can capture stack traces along with the event, which is INCREDIBLY USEFUL...

For those that don't know, PerfView is a performance profiling tool that can be used to diagnose a broad range of performance problems. We released a free copy of this to the web back in January. Well, it has been over 6 months since that release and I have been busy adding various capabilities to the...

UPDATE : These (and other) videos are now on Channel 9 as part of the PerfView Tutorial Series .
In my previous Post I posted a ZIP file containing 3 videos using the new PerfView tool.
Here I add another 2 videos to the collecition. The should be unpacked into the same directory as the first 3...

UPDATE : These (and other) videos are now on Channel 9 as part of the PerfView Tutorial Series .
In my previous Post I mentioned the new PerfView tool, which is the tool that I use for most of my performance investigations.
If you have clicked tried to access the video's link in PerfView you have...

I know it is has been a while since my last posting, but long ago I decided that I would not write just to have something to write about but rather only when I had something I really something useful to say.
Well do have something really useful to say. For a long time I have wanted to give very specific...

I am giving a .NET Performance talk for the users group at the Royal Bank of Canada, and I am posting the slides for the talk here for future reference. (see power point document attached to this entry below).
Anyone who has heard me speak will see recognise the themes: Good perf does not just happen...

Every year or so, when Microsoft believes it has something useful to say to develoeprs it hosts a Programmer Developer's Conference. It is doing so this year from 10/27 through 10/30. Between Rico Marani, Mark Friedman and myself, we gave a all day talk on writing high performance software for the .NET...

I just happen to notice that I don't have any links from my blog to some recient MSDN articles I wrote on performance. I want to quickly correct his with this posting.
There is actually a very nice summary page that MSDN created that gathers together all the articles I have written over time. The...

This is a quick plug for a pre-conference session I am giving on 10/26 at Microsoft’s Programmer Developers Conference (PDC) 10/26 held this year in Los Angeles. My talks are part of a all day session that I am giving along with Rico Mariani and Mark Friedman entitled
Performance by design using...

In a previous posting , I mentioned that .NET V3.5 Service Pack 1 had significant improvements in the Just in time (JIT) compiler for the X86 platform, and in particular its ability to inline methods was improved (especially for methods with value type arguments). Well now that this release is publically...

What's Coming in .NET Runtime Performance in Version V3.5 SP1
It certainly has been a while since I last blogged. Most of this is laziness on my part, but I can truthfully say that it is partly because I have been busy trying to get the next servicing release of the .NET framework (called Version...

After my last blog entry on cold startup a reader ( dimkaz ) worried that the formula would not be accurate in many cases.
This topic is worth discussing in some detail because it pretty common to apply formulas outside the assumptions implicit in them, and simply get wrong conclusions. The most fundamental...

Well it is has been a while. I see now that it is been getting close to 1/2 a year since I last posted. Sigh. It is so easy for other things to get busy and not to blog. I have resolved to try to be a bit more methodical about and insure that I write something every week or so.
Over the past year...

In my last blog entry showed how to use a simple simle class called MultiSampleCodeTimer to measure the performance (time), of pretty much any fragment of CLR code quickly and easily. That entry had a solution packaged up as a zip file TypePerfMeasurement.zip that you could use to duplicate the experiment...

My performance blog entries to date have been 'foundational'. In entries so far, I talk about how to use Visual Studio to look at the native code generated for the runtime. With this foundation, we can now start exploring what the native code for managed code looks like and what optimzations the runtime...