Generational collection has improved the efficiency of garbage collection in fast-allocating programs by focusing on collecting young garbage, but has done little to reduce the cost of collecting a heap containing large amounts of older data. A new generational technique, older-first collection, shows promise in its ability to manage older data. This paper reports on an implementation study that compared two older-first collectors to traditional (younger-first) generational collectors. One of the older-first collectors performed well and was often effective at reducing the first-order cost of collection relative to younger-first collectors. Older-first collectors perform especially well when objects have queue-like or random lifetimes. Categories and Subject Descriptors D.3.4 [Programming Languages]: Processors--Memory management (garbage collection) General Terms Algorithms, Measurement, Performance, Experimentation Keywords generational garbage collection, older-first
Lars Thomas Hansen, William D. Clinger