Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Good Profiler for C# 2010? [closed]

Tags:

I love the profiler for Visual Studio Ultimate 2010. But I do not have $8,000 or whatever it costs to just get that functionality. Are there any profilers that are just as good, if not better? It does NOT have to be free. I basically would like to see something like method X has this amount of inclusive time, times it was called and by WHO, exclusive time, and so on. Does anything else do this?

like image 843
Nathan Avatar asked Apr 12 '11 22:04

Nathan


People also ask

What is a profiler in C?

The C Profiler tool enables the collection and display of execution profile data on C software source code bases of arbitrary size. It is a member of SD's family of Profiler tools.

Does Gprof work with C++?

A C or C++ program can be easily profiled in Linux using gprof: Make sure your C or C++ code compiles without errors. Make sure your compiled program starts, executes and exits without any errors. Add the -pg option to both the object compilation and linking stages of the program compilation.

Which is a profiling tool?

You can use profiling tools to identify which portions of the program are executed most frequently or where most of the time is spent. Profiling tools are typically used after a basic tool, such as the vmstat or iostat commands, shows that a CPU bottleneck is causing a performance problem.


1 Answers

Ants Profiler is very good: http://www.red-gate.com/products/dotnet-development/ants-performance-profiler/

Also I like dotTrace: http://www.jetbrains.com/profiler/

Ants is more robust but dotTrace's company support is awesome :)

Also, with dotTrace, if you are doing opensource projects, then you can qualify for an OpenSource license. They also have frequent updates and they still support .netCF (For VS 2008. Not important to you, but shows they care and support all the Windows Platforms)

EDIT:

Here are 2 screenshots of a project I'm working on, profiled in dotTrace. As you can from the first image, you get the call tree, organized by threads. It shows the inclusive time and the inclusive run percentage of each method and sub methods.

enter image description here

In this picture you see the exclusive run time, number of calls and in the lower panel, the functions that called the selected method (in the top panel) and the number of calls and recursive calls.

enter image description here

I am not affiliated with jetbrains, but I have several opensource projects and they have given me free licenses because of them. For that reason I really like the company.

Hope this helps!

(Oh, and I have the Professional version. I'm not sure what the other version have or don't have)

like image 60
joe_coolish Avatar answered Sep 21 '22 02:09

joe_coolish