Smarter garbage collection with simplifiers

13 years 10 months ago
Smarter garbage collection with simplifiers
We introduce a method for providing lightweight daemons, called simplifiers, that attach themselves to program data. If a data item has a simplifier, the simplifier may be run automatically from time to time, seeking an opportunity to "simplify" the object in some way that improves the program's time or space performance. It is not uncommon for programs to improve their data structures as they traverse them, but these improvements must wait until such a traversal occurs. Simplifiers provide an alternative mechanism for making improvements that is not tied to the vagaries of normal control flow. Tracing garbage collectors can both support the simplifier abstraction and benefit from it. Because tracing collectors traverse program data structures, they can trigger simplifiers as part of the tracing process. (In fact, it is possible to view simplifiers as analogous to finalizers; whereas an object can have a finalizer that is run automatically when the object found to be de...
Melissa E. O'Neill, F. Warren Burton
Added 20 Aug 2010
Updated 20 Aug 2010
Type Conference
Year 2006
Authors Melissa E. O'Neill, F. Warren Burton
Comments (0)