Understanding the connectivity of heap objects

Understanding the connectivity of heap objects
复制标题

了解堆对象的连接性

DOI:
--
复制
发表时间:
2002
期刊:
International Symposium on Mathematical Morphology and Its Application to Signal and Image Processing
影响因子:
--
通讯作者:
M. Hind
M. Hind
中科院分区:
--
文献类型:
--
作者:
Martin Hirzel;Johannes Henkel;Amer Diwan;M. Hind

文献摘要

被引文献

相似文献

现代垃圾收集器将一组堆对象分开,以实现最佳性能。例如,按年龄按年代分配对象,并将其精力集中在最年轻的物体上。按年龄进行分区对于许多程序来说效果很好,因为年轻的物体通常具有较短的寿命,因此年轻物体的垃圾收集通常能够释放许多物体。但是,世代垃圾收集器通常对寿命寿命的对象效率较低,因此先前的工作为世代集合提出了许多增强功能。我们的工作探讨对象的连接是否可以产生有用的分区或改善现有分区方案。我们查看直接(例如,对象a对象b)和传递(例如,可以从对象b到对象a)连接。我们的结果表明,连通性与对象寿命和死亡时间密切相关,因此可能对分区对象有用。
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) and transitive (e.g., object A is reachable from 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.