Output details
11 - Computer Science and Informatics
University of Kent
Handles revisited: optimising performance and memory costs in a real-time collector
<07> Long ago, JVM implementers abandoned handles in favour of direct pointers to objects, for better throughput. Our EPSRC project EP/H026975/1 showed, surprisingly, a handle-based compacting garbage collector (GC) incurs no overhead compared with a state of the art direct-pointer implementation. This is significant. First, handles offer greater flexibility, allowing object movement at any time rather than only at the end of a GC, offering the opportunity to reduce memory overhead. Second, handles are compatible with compilers that do not expect references to change. Our technique has been adopted by the GAP computer algebra system, reducing GC times by 10%.