Does anyone have any good recommendations for code profiling? I would like to be able to view the system heap, memory usage, garbage collection statuses, etc...
13 Answers
If you buy the .NET Bundle, you also get Memory Profiler

- 242,243
- 40
- 408
- 536
-
Used this once and it is amazing. The interface is very well done as well. – Zoidberg Aug 21 '09 at 15:05
-
1This is a great tool but the price used to be a lot better. Now they "nickle and dime" you to get all of the same features they used to offer at a single price point. – Greg Aug 21 '09 at 15:40
There's also a profiler included in some versions of Visual Studio. The one included in Visual Studio 2010 seems nice. I don't know if it's good at profiling memory usage though.

- 17,626
- 1
- 48
- 58
-
-
3Under VS2010: Analyze -> Launch Performance Wizard. Available in Premium and Ultimate versions of VS2010. – Meta-Knight Jun 09 '11 at 16:46
-
2Ah, I only have proffessional. Which used to be the best version (IIRC). It's like chips at fast food, used to be able to get small, medium and large. Now they call small medium, medium large, and large family. – Frames Catherine White Jun 10 '11 at 00:12
For memory profiling I couldn't beat .NET Memory Profiler. Had everything I needed.

- 26,748
- 16
- 78
- 122
Just to add to all the relevant answers. If you want to inspect the runtime heaps, memory usage and so forth you can actually do all of this (and a lot more) using WinDbg and Sos.dll, which are free. It is not a profiler, but it is a very useful tool for examining the application at runtime.

- 114,645
- 34
- 221
- 317
If you are looking for bottlenecks, I think this is best. It finds them in no time, and you don't have to buy or install anything.

- 1
- 1

- 40,059
- 14
- 91
- 135
CLR Profiler is very useful.
Brief Description
The CLR Profiler allows developers to see the allocation profile of their manage applications.
You can find more details about CLR Profiler in this MSDN article.

- 13,589
- 4
- 59
- 72
-
This is way too old and crashes even in testing a basic console application. Quoting from the MSDN article - `This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This page may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.` – RBT Mar 07 '17 at 01:26
YourKit is another option.

- 14,023
- 15
- 52
- 63
-
I've used YourKit with mixed results. I like the feel of the tool, but the quality of the results just doesn't seem to be on the same level as Ants or DotTrace. Also it seems like their maintenance of the .Net version has dropped off a bit. Not sure if they're planning to release another version. – Dan Rigby Aug 21 '09 at 15:08
-
I agree with you Dan. I've been happier with Ants as well, but I at least wanted to get the option out there. – jamesaharvey Aug 21 '09 at 15:44
AQTime has done pretty much everything I've needed: time, memory, and resource profiling. It's easy to use, the results easy to act upon and it works on unmanaged code as well.

- 48,267
- 11
- 78
- 120
-
URL Update: Looks like Smart Bears owns this product now. http://smartbear.com/products/qa-tools/application-performance-profiling – MADCookie Oct 25 '12 at 17:13
Since everyone's listing the available tools, I thought I'd point you to the complete list of profilers for .NET: http://sharptoolbox.com/categories/profilers-debuggers
You'll find there the tools suggested here and all the other ones, each with a short description of what it proposes.