SELA Developer Days 2011 – Improving the Performance of .NET Applications

June 29, 2011

no comments

There’s just one day left for the SELA Developer Days, and today I delivered my session titled Improving the Performance of .NET Applications. In this brief one-day session I wanted to distill the best practices and tools for measuring various performance metrics, but also provide some insight into OS and CLR internals relevant to high-performance development.

Other sessions today included Parallel Programming: One Step Beyond, Windows Phone Mango, Introduction to Scrum, and Visual Studio 2010 Testing Tools. I really wish I could attend Bnaya and Yaniv’s session on parallel programming – they showed lots of cool stuff, including TPL Dataflow, Rx integration, and even some HPC cluster coolness.


So what have I done today? There was a big group of over 50 people at the full-day session, and we had enough time to go over:

  • Using sampling and instrumentation in the Visual Studio profiler to obtain initial execution time readings and more detailed information
  • Tracing memory allocations and heap structure using CLR Profiler, Visual Studio memory allocations, and ANTS Memory Profiler
  • Profiling cache misses along with a couple of examples where cache performance is crucial
  • How managed types are laid out in memory and how this affects the performance of value types in particular
  • How the garbage collector operates and why finalization is a bad idea 🙂
Add comment
facebook linkedin twitter email

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>