.NET Blog

Free. Cross-platform. Open source. A developer platform for building all your apps.

So, what’s new in the CLR 2.0 GC?

Certainly that’s one of the most frequently asked questions I get (at the PDC too!). So since PDC already happened I can tell the rest of you about the new stuff happened in GC in CLR 2.0. The slides can be downloaded here. And I will be referring to some of the slides. I must apologize for your having to click on the link to see the slide ...

GC talk at the 2005 PDC

I will be giving a GC talk at the PDC this September. This talk is to give you a close up view of the CLR GC so I hope to see all you hard core .NET developers there! I will talk about some internal details of generations, allocations, different flavors of GC and fragmentation (what we have done in the GC and what you can do in your ...

Using GC Efficiently – Part 4

In this article I’ll talk about things you want to look for when you look at the managed heap in your applications to determine if you have a healthy heap. I’ll touch on some topics related to large heaps and the implications you want to be aware of when you have an application that maintains or has potential for the need to maintain a ...

Using GC Efficiently – Part 3

In this article I’ll talk about pinning and weak references – stuff related to GC handles.   (I was planning on talking about finalization in this part of the “Using GC Efficiently” series but since I already covered it in pretty much detail in one of my previous blog entries I won’t repeat it here. Feel free to ask if you have ...

Tools that help diagnose managed memory related issues

I was writing an internal wiki page on performance and thought this info is useful to many external readers as well so here it goes. vadump is a good start. It’s an mstools tool – meaning you can find it on your NT CD under bin\mstools. You can take a snapshot of the process and see if the GC heap is an issue or not. It was created a long ...

Clearing up some confusion over finalization and other areas in GC

In the WinDev conference that I just went to, there seems to be some confusion over finalization (such as why it even exists and etc) and other areas. I hope the following will clear up that confusion. If not, let me know.   Finalization   1)      Why we have finalization   Finalization is necessary ...

Using GC Efficiently – Part 2

In this article I’ll talk about different flavors of GC, the design goals behind each of them and how they work differently from each other so you can make a good decision of which flavor of GC you should choose for your applications.   Existing GC flavors in the runtime today   We have the following flavors of GC today:   1)&...

WinDev in Boston

I am going to WinDev this year to give 2 performance talks. Check out: http://butrain.bu.edu/windev/track2.asp (it's from Oct 25 to 29) Below is the description: C5 - CLR PerformanceWrite faster managed code! Learn about performance engineering, tools and issues specific to managed code including: garbage collection (GC), managed code ...

Using GC Efficiently – Part 1

So the goal here is to explain the cost of things so you can make good decisions in your managed memory usage – it’s not to explain GC itself - it’s to explain how to use it. I assume most of you are more interested in using a garbage collector than implementing one yourself.  It assumes basic understanding of GC. Jeff ...

Hello World

Yep, now I have a blog too. I work on the CLR Performance Team so naturally I will be writing about performance. ...