Understanding the connectivity of heap objects
Martin Hirzel, Johannes Henkel, et al.
ISMM 2002
Modern garbage collectors partition the set of heap objects to achieve the best performance. For example, generational garbage collectors partition objects by age and focus their efforts on the youngest objects. Partitioning by age works well for many programs because younger objects usually have short lifetimes and thus garbage collection of young objects is often able to free up many objects. However, generational garbage collectors are typically much less efficient for longer-lived objects, and thus prior work has proposed many enhancements to generational collection. Our work explores whether the connectivity of objects can yield useful partitions or improve existing partitioning schemes. We look at both direct (e.g., object A points to object B) connectivity. Our results indicate that connectivity correlates strongly with object lifetimes and deathtimes and is therefore likely to be useful for partitioning objects.
Martin Hirzel, Johannes Henkel, et al.
ISMM 2002
Martin Hirzel, Kiran Kate, et al.
KDD 2022
Stephen M. Blackburn, Amer Diwan, et al.
ACM TOPLAS
Avraham Shinnar, Jérôme Siméon, et al.
ECOOP 2015