views:

103

answers:

3

Anyone can recommend a LOP on Windows? Similar to Linux's OProfile or to OS X's Shark.

  • must be able to sample non-instrumented binaries
  • capable of resolving CLR stacks
  • preferable delayed PDB resolution of symbols
  • impact low enough to be able to get a decent reading on live, production systems
+1  A: 

The Visual Studio Team Suite profiler is amazing. It's so good at its job that it makes me seem better at mine.

Redgate has a performance profiler and memory profiler which I haven't used.

280Z28
It instruments the binary, out of the question
Remus Rusanu
@Remus: Not if you have it in sampling mode.
280Z28
VS 2008 profiler supports sampling?
Remus Rusanu
K, didn't know they made the lop F1 public with VSTS. Yes, used that intensively in a prior life, was pretty good.
Remus Rusanu
A: 

Automated QA's AQTime has saved my butt. I used it to figure out a problem with a .NET web service calling some nasty old C code, and it did it well.

John Saunders
A: 

This is what I use. Although it is not suitable for live production use, it answers your other needs.

For live production use, you need something that samples the stack. In my opinion, it's OK if it has some small overhead. My goal is to discover the activities that need optimization, and for that I'm willing to pay a temporary price in speed.

There is always one or more intervals of interest, like the interval between when a request is received, and the response goes out. It's surprising how few samples you need in such an interval to find out what's taking the time.

High precision of timing is not needed. If there is something X going on that, through optimization, would save you, say, 50% of the interval, that is roughly the fraction of samples that will show you X.

Mike Dunlavey