Maoni Stephens, a lead developer of the CLR’s garbage collector tells us about background GC for server-side .NET applications and services and also touches on improvements in large heap management, generally in the next release of .NET.
“In the next release of .NET (4.5), managed server applications and services will reap the benefits of background collections. This is a feature the CLR team is excited about and for good reason. It means less pausing, better overall performance,” said Microsoft.
“In the 4.0 release, the client CLR supported background GC. Moving this feature to the cloud (well, to the server-side) means more performance and less pausing for ASP.NET applications, for example.”
“Background GC is an evolution to concurrent GC. The significance of background GC is we can do ephemeral GCs while a background GC is in progress if needed. As with concurrent GC, background GC is also only applicable to full GCs and ephemeral GCs are always done as blocking GCs, and a background GC is also done on its dediated GC thread. The ephemeral GCs done while a background GC is in progress are called foreground GCs,” said Maoni in a May 2009 post.
Here is the video demonstrating Real-Time Concurrent Garbage Collection: