Summary: | Modern generational garbage collectors look for garbage among the young objects, because they have high mortality. These objects include the very youngest objects, which clearly are still live. We introduce new garbage collection algorithms that postpone consideration of the youngest objects. Furthermore, we propose a classification encompassing and generalizing age-based garbage collection algorithms. To investigate numerous collectors, their configurations, and program behavior, we use an accurate simulator that models all heap objects and the pointers among them. For object-oriented languages, our results demonstrate that a collector that considers older objects can outperform generational collectors, in some cases significantly.
|