arXivDaily arXiv每日学术速递 周一至周五更新
arXiv cs/0611093cs.PLcs.PF
收藏

MIT/GNU方案中垃圾回收的有效性

Effectiveness of Garbage Collection in MIT/GNU Scheme

Amey Karkare, Amitabha Sanyal, Uday Khedker

摘要:

Scheme使用垃圾回收进行堆存储管理。理想情况下,垃圾收集器应该能够回收所有死对象,即将来不会使用的对象。但是,垃圾收集器只收集那些无法从任何程序变量访问的死对象。可从程序变量访问的死对象不会被回收。在本文中,我们描述了我们的实验来衡量垃圾回收的有效性,在MIT/GNU计划。我们计算对象的拖动时间,即对象在最后一次使用后在堆内存中保留的时间。死亡对象的数量和拖动时间共同表明了改进垃圾回收的机会。我们的实验表明,多达26%的死亡对象仍然存在于内存中。平均拖动时间高达执行时间的37%。总体而言,我们观察到内存节省潜力从9%到65%不等。

英文摘要:

Scheme uses garbage collection for heap memory management. Ideally, garbage collectors should be able to reclaim all dead objects, i.e. objects that will not be used in future. However, garbage collectors collect only those dead objects that are not reachable from any program variable. Dead objects that are reachable from program variables are not reclaimed. In this paper we describe our experiments to measure the effectiveness of garbage collection in MIT/GNU Scheme. We compute the drag time of objects, i.e. the time for which an object remains in heap memory after its last use. The number of dead objects and the drag time together indicate opportunities for improving garbage collection. Our experiments reveal that up to 26% of dead objects remain in memory. The average drag time is up to 37% of execution time. Overall, we observe memory saving potential ranging from 9% to 65%.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑