Measure twice, cut once...CLR Profiler 2.0
I see from Jan Gray's blog that the CLR Profiler (now 2.0) distribution has been updated. You can download CLR Profiler 2.0 here. It just keeps getting better. Kudos to Peter Sollich, the author.
We've just updated the CLRProfiler distribution. Once again, we're shipping both the source and the prebuilt binaries, and this time we're delighted to include a terrific ~100 page tutorial and reference manual written by the tool's author, Peter Sollich.
I think this new documentation greatly enhances the power and utility of the profiler by demonstrating how to use its features more effectively -- for example, how to diagnose a memory leak. [Jan Gray]
If you've been writing .NET code willy-nilly for the last few years and haven't profiled, try it. There are lots of “for $” profilers out there, but this one (in previous versions) have helped us find memory leaks and all sorts of other weirdness.
Also, familiarize yourself with Gregor Noriskin's article on MSDN: “Writing High-Performance Managed Applications : A Primer.” He discusses the CLRProfiler and oodles of other good things. His MSDN TV show on Code Optimization is also good. Additionally Jan and Rico Mariani have a site up on GotDotNet dedicated to Managed Code Performance.