Gamefest 2007: The Costs of Managed Code: The Avoidable and the Unavoidable
A few weeks ago I spoke at Gamefest 2007 where I delivered this talk:
The Costs of Managed Code: The Avoidable and the Unavoidable
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. The presentation explains those few characteristics of managed code, such as array bounds checking, application domain isolation, and write barriers, that profoundly affect the code generation at a primitive level. 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. Speaker: Rico Mariani
The talk was based on an older article that I wrote on Qualitative Code Differences in Managed Code which was itself based on an internal paper written by my colleague Vance Morrison (thank you again Vance).
You can see the talk at the XNA Content Creators Site and I encourage you to look at the other talks too as this whole series was very popular and many of the concepts are broadly useful.
Comments
Anonymous
September 07, 2007
PingBack from http://msdnrss.thecoderblogs.com/2007/09/08/gamefest-2007-the-costs-of-managed-code-the-avoidable-and-the-unavoidable/Anonymous
September 09, 2007
The comment has been removedAnonymous
September 09, 2007
Norman Diamond: GDI+ = slow. .NET graphics on top of GDI+ = slow^2. It's nearly almost faster (by an order of magnitude) to p/invoke into plain old GDI when doing any amount of user-drawing onto a WinForm.