5:00 PM Saturday Room: 1401The .NET garbage collector provides a high-speed memory allocation service and promises to minimize if not eliminate the work associated with managing your applications memory. However, this benefit comes with a cost that is not always easy to quantify. When it is ignored it has the potential to drastically reduce your application performance and in extreme cases introduce memory leaks that can be hard to find.<br/>
In this session I will do an in depth look at .NET memory management and introduce the IDisposable pattern. I will then show some techniques to analyze when this pattern is needed. Lastly I will show some design patterns that can minimize the impact of garbage collection and make your programs more efficient.
3:30 PM Saturday Room: 8403Many developers spend much of their career blissfully unaware of garbage collection. A lucky few encounter slow performance or encounter an out of memory exception. Those lucky few who have the opportunity to investigate the cause may discover a world overlooked by much of the .Net community.
Generally, there is nothing wrong with overlooking this area; after all the garbage collector does a very good job of handling managed memory. However, there are some situations where the programmer is dealing with unmanaged memory or the algorithm creates a great deal of work for the garbage collector causing performance problems.
In this session I will discuss several situations that can cause problems for the Garbage collector and how avoid these problems.
Lastly I will introduce some tools and techniques for tracking down these problems in an application.