I have had to look at performance profilers for .NET recently. I thought other people might be interested in the results – even if they don’t agree with my conclusions.
I’d rate (in terms of price, usability and features) the top three in the following order:
- YourKit
- ANTS
- dotTrace
An here’s the list of profilers I tried and my impressions:
VS 2010 Profiler
Available as part of VS2010 Premium Edition (what was the Team edition). Doesn’t seen to support memory profiling. A few quite good things said about it. Summarised here: http://blogs.msdn.com/profiler/archive/2009/06/10/write-faster-code-with-vs-2010-profiler.aspx
Price: Part of the VS2010 Premium Edition (so the difference between the standard and premium price – usually quite a bit).
Prof-It for C#
Open Source. No releases since 2004.
http://dotnet.jku.at/projects/Prof-It/
Price: Free
ProfileSharp
Open Source. Very poor.
http://www.softprodigy.net/softprodigy/app/webroot/index.php?option=com_content&view=article&id=57&Itemid=28
Price: Free
SlimTune
Open Source. Very good at collecting data, but poor at analysis of collected data. (SQL interface for constructing your own queries even!) No memory profiler.
http://code.google.com/p/slimtune/
Price: Free
AQtime
Seems to be pretty good. UI is not very intuitive. Locked up during test. Didn’t shut down properly.
http://www.automatedqa.com/products/aqtime/
Price: $599 (desktop) / $1899 (floating)
YourKit
Seem to be very good captures a lot of information about the performance and memory profile of the application and displays it all in a useful way.
http://www.yourkit.com/dotnet/
Price: $499 (desktop) / $1999 (floating) – NB. A lot cheaper in “packs” of 5
Equatec
Nice UI, but not much real information.
http://www.eqatec.com/tools/profiler
Price: $199 (desktop) / $749 (entire company)
SciTech .Net Memory Profiler
Lots of good comments on the internet. The application seems very detailed and useful. I would recommend. (Obviously this is only a memory profiler).
http://memprofiler.com/
Price: $209 (desktop) – NB. Volume discounts
IBM Rational Purify
Memory profiling only. Couldn’t actually get it to run the test program without crashing! A monster of an installation too (the IBM Installation Manager is based on Eclipse! Overkill?)
http://www-01.ibm.com/software/awdtools/purifyplus/win/
Price: $738 (desktop)
NProf
Open source. Very basic. Collects the data and displays almost raw results. Not much else. No memory profiling.
http://code.google.com/p/nprof/
Price: Free
GlowCode
The UI is unintuitive and a bit flakey (some strange error messages). But it seems to provide quite a bit of information and reasonably well structured. Memory profiling isn’t very clear.
http://www.glowcode.com/index.htm
Price: $499 (desktop) / $1599 (floating)
DevPartner
This used to be Compuware DevPartner (I used it years ago with VB6 – it was very good back then). Waiting for Micro Focus to get in touch with demo version.
http://www.microfocus.com/products/DevPartner/index.asp
Price: Not published
ANTS Performance/Memory Profiler
Looks very nice and provides most of the information in a fairly accessible format. Not as configurable as I would like. The memory profiler seems stronger than the performance profiler. Memory profiler allows you to pick out objects in interesting states (finalised but not disposed, only on memory because of a delegate reference, etc.).,
http://www.red-gate.com/products/ants_performance_profiler/index.htm
Price: $495 (desktop bundle)
JetBrains dotTrace
Memory and performance profiling. Not as many analytics as some other products. UI a bit odd in places. Seems to capture most, if not all, of the data necessary to make decisions.
http://www.jetbrains.com/profiler/
Price $390 (desktop) / $1950 (floating)