The CLR, Performance and the unruly child
eek! Often times I’m asked to explain .NET concepts (garbage collection, serialization, reflection, etc.) that I take for granted because I’ve been around .NET for a long time. I’m forced to go back and refresh my memory on certain fundamentals. I found this refreshing session on performance and garbage collection from Frank Savage. Here’s the quote that kept me listening :)
"But you have to understand the pathology of the garbage collector. You can think of it as a very unruly child…"
That’s just too good!

The abstract:
This talk is for those who want to understand the inescapable performance consequences of the managed programming method: the things you cannot avoid and the things you can. Comparing and contrasting the consequences for the .NET Compact Framework and the classic .NET runtime, the talk explains the reasons for these overheads, the benefits they provide, and what practices minimize the associated costs. Additionally, we discuss some commonly occurring costs, such as boxing, that aren't inherent to all managed code, and we offer some tips for minimizing those costs.
I stumbled upon related sessions and other goodies I intend to review (e.g. Getting More from Multicore) at Microsoft XNA Developer Presentations.