Adaptive Hybrid Garbage Collection for C#

As part of our research on automatic memory management, we have implemented a hybrid garbage collector for C#. It uses a combination of copying and non-copying collection to dynamically adapt to the behavior of the application. It also supports object pinning without sacrificing the ability to reduce fragmentation in the heap. The algorithm is described in detail in our VEE '05 paper.

You can download the source code. You will need the original Rotor distribution. Download Rotor first, then extract the archive.

This collector is no longer under active development, but we will continue to update this page if and when we make more functionality available. Send email if you would like more information.

18 Sep 2005
Bug fix release.
6 May 2005
Initial release of the collector. This is still research software: it is fully functional, but we are currently working to improve the documentation and organization of the code. (Caveat: this implementation untested on FreeBSD or Mac OS.)

2 Mar 2007 xhtml1.0 css2.0