2

As far as the map goes, think WinDirStat. Only ideally it would show time instead of file size, namespace and class instead of directory, and method instead of file.

Here's what I have been reading.

Community
  • 1
  • 1
GregC
  • 7,737
  • 2
  • 53
  • 67
  • I don't understand - Mike Dunlavey (the guy you linked) emphasises that its the location that matters, not the time spent. What about that post persuaded you that this would be more useful than other profilers? – Justin Apr 29 '11 at 01:27
  • FWIW, I wrote a disk tumor-finder. You point it at a directory tree. First it measures it by adding up all the file sizes N. Then it acts like it's reading all the files, and every time if passes a 5% point, it prints the path to the file it is pretending to read. So you get 20 "random" stabs into the tree. So if there's one big tumor, or many little ones scattered about, they will appear. It's the same idea. I called it "deep sampling". The thing to be careful of with a UI is getting locked into a hierarchical view of the resource. – Mike Dunlavey Apr 29 '11 at 01:39
  • @Kragen: I've tried a number of ways to explain this. [Here's another.](http://stackoverflow.com/questions/5525758/function-profiling-woes-visual-studio-2010-ultimate/5560023#5560023) – Mike Dunlavey Apr 29 '11 at 01:47
  • @Mike Ok, that makes more sense. I think the title of the question misled me (specifically the "time spent") - what Greg is after is a map of the sampled call stacks weighted by frequency, right? – Justin Apr 29 '11 at 02:07
  • @Kragen: Yes I think that's right. Personally, I was impressed by RotateRight's Zoom video. I think they have it almost right. (I say "almost" because their butterfly view is function-based, and they take more samples than I think necessary, but that's a small quibble.) Ideally, it would be nice if the user could browse individual stack samples. – Mike Dunlavey Apr 29 '11 at 02:11

2 Answers2

2

Certain editions of Visual Studio includes a sampling profiler:

  • View -> Other Windows -> Performance Explorer
  • Launch Perfomance Wizard -> CPU Sampling -> Next -> Next -> Finish
  • Launch Profiler

The Sample Profiling Report includes many views, some similar to the map you describe.

I have use many profilers, and while this profiler is not the fanciest profiler in the world, it does produce trustworthy results, and this makes it invaluable.

Rick Sladkey
  • 33,988
  • 6
  • 71
  • 95
  • 1
    As most MS products, the quality is very good. Its main problem is it [doesn't sample during I/O or other blockage](http://stackoverflow.com/questions/5525758/function-profiling-woes-visual-studio-2010-ultimate/5560023#5560023). So it's blind to any performance problem except CPU-bound. For that, they tell you to use instrumentation, but that doesn't give line-level percent. – Mike Dunlavey Apr 29 '11 at 12:42
0

Red Gate's ANTS Performance Profiler is a good one. i have used it to profile Asp.net application. But it provides Win App profiling as well. They do have 14days trial. You can try and see.

Feature's Includes,
- Percentage of time spent on each line of code (very useful if you want to tune your code).
- line level performance display.
- Call stack based display.
- memory map.

http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/

As Rick Sladkey Said you can use inbuilt tools. You can get whole application prospective performance using this. And this is light weight compare to Red Gate one.

Jeyara
  • 2,198
  • 1
  • 23
  • 26