Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What features should a C#/.NET profiler have?

This could be a borderline advertisement, not to mention subjective, but the question is an honest one. For the last two months, I've been developing a new open source profiler for .NET called SlimTune Profiler (http://code.google.com/p/slimtune/).

It's a relatively new effort, but when I looked at the range of profilers available I was not terribly impressed. I've done some initial work based on existing products, but I felt this would be a good place to ask: what exactly do you WANT from a profiler?

I come from real time graphics and games, so it's important to me that a profiler be as fast as possible. Otherwise, the game becomes unplayable and profiling an unplayable slow game tends not to be very enlightening. I'm willing to sacrifice some accuracy as a result. I don't even care about exceptions. But I'm not very familiar with what developers for other types of applications are interested in. Are there any make or break features for you? Where do existing tools fall down?

Again, I apologize if this is just way off base for StackOverflow, but it's always been an incredibly useful resource to me and there's a very wide range of developers here.

like image 642
Promit Avatar asked Aug 13 '09 22:08

Promit


People also ask

What is the most important part of AC?

The compressor of an air-conditioning system is considered to be the engine of the unit. Thus, the compressor is the most important component of your AC unit. This functions together along with a substance known as working fluid. Together, they help to transform the gas into a liquid.


1 Answers

My requirements:

  • Collect stats without impact to application - e.g. don't fill up memory, allow data to be collected away from apps under question
  • Ability to specify measurements simply and repeatably (data driven)
  • Automatable so that I can repeat measurements without point and click, and without UI
  • Enable us to understand issues related to the WPF and other declarative technologies such as DLR or WF
  • No installation - no gac, msi etc, even better if can be run over a network
  • Support 64 bit from outset
  • Don't try to know all the the analysis that could be done - encourage an ecosystem. If the raw stats can be analysed using other tools so much the better.
  • UI if any should be good - but its the stats that matter. So don't spend time on that, get the core profiling good.
    • Support profiling of apps that are not straight exe's like services and web applications simply.

would likes:

  • Consider cross app support - big apps often need to understand apps performance behavior across many executables. If your profiler allows easy correlation of this data then so much the better
like image 80
Preet Sangha Avatar answered Oct 02 '22 17:10

Preet Sangha