As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
If this question can be reworded to fit the rules in the help center, please edit the question.

nprof is .Net 1.1 only I think. If you can compile to .Net 1.1 then it may still be useful to profile it and then recompile to .Net 2 for release. However this isn't possible if you start using .Net2 features such as generics and nullable types.
–
locsterJul 23 '09 at 12:22

1

Agree with Matthew, ProfileSharp is terrible, couldn't get it to profile even the simplest command line exe. Don't waste your time
–
Michael DausmannAug 26 '09 at 1:25

Development on nprof seems to have picked up recently.
–
Brian OrtizOct 16 '09 at 1:26

The EQATEC profiler is very good and is completely free. It's easy to setup and use, and doesn't seem to add too much of an overhead to the application. I've just started using it today and have already found a couple of bottlenecks I wouldn't have spotted otherwise.

Not free for a commercial license (but still cheap, $200).
–
mhenry1384Dec 21 '09 at 18:13

Yes it looks like they have changed the licencing for the latest version, and started charging for commercial use. I'd still highly recommend it though.
–
HullCitySteveJan 20 '10 at 10:48

3

Update - it looks like they have changed the licence terms again to make it free for commercial use for standard .NET applications (but not CF or Silverlight)
–
HullCitySteveApr 21 '10 at 15:17

3

The license terms have changed again in release 3.6: it's now free for all platforms, including CF and Silverlight, with a restriction on the number of DLLs that can be instrumented in one session.
–
Richard FlamsholtDec 2 '10 at 14:57

3

No longer free and has been bought out by Telerik :(
–
Rene147Aug 13 '13 at 13:17

It's interesting that no-one mentions that there's one in the higher-end versions of Visual Studio - I've always found that to be good enough for execution profiling. For memory profiling I use Memory Profiler which has already been mentioned, but isn't what I would generally describe as 'a profiler'.

I'll second red gate's ANTS profiler. I've used it to track down some really troubling performance issues and it was dead simple to use (low learning curve) and presented nice, detailed data in a way that was easy to understand. The price tag is worth it, but it isn't free ...

I would thoroughly recommend NDepend for static analysis, but just be warned that you'll probably need to put aside a day or two to actually analyse the truckload of information that it provides as well as work out what all the stats actually mean in terms of your code.

The current release of SharpDevelop (3.1.1) has a nice integrated profiler. It's quite fast, and integrates very well into the SharpDevelop IDE and its NUnit runner. Results are displayed in a flexible Tree/List style (use LINQ to create your own selection). Doublecliking the displayed method jumps directly into the source code.

Currently don't use them, a buddy of mine raves about Ants profiler. I know its a for-pay product not sure how expensive. If you happen to staff an MVP you might be able to leverage that to get a license for free.

one way to get to the VS2010 profiler is, after a solution is loaded, from the "Debug" menu find "Start Performance Analysis". Details of it's capabilities are at msdn.microsoft.com/query/…
–
ShawnFeatherlyJan 13 '12 at 1:24