This article is based on Chapter 5 of my book, Writing High-Performance .NET Code. This article references some tools to help measure and diagnose performance issues, specifically PerfView, MeasureIt, and ILSpy (or an IL reflection tool of your choice).
Full article