Mercury的工作编译时垃圾回收系统的实用方面
Practical Aspects for a Working Compile Time Garbage Collection System for Mercury
摘要:
编译时垃圾回收(CTGC)在编译器中仍然是一个非常少见的特性。在以前的工作中,我们已经开发了一个编译时结构重用系统的水星,逻辑程序设计语言。该系统指出哪些数据结构可以在运行时安全地重用。由于初步实验是有希望的,我们继续这项工作,现在有一个工作和良好的性能近船CTGC系统内置到墨尔本汞回收器(MMC)。在本文中,我们提出了多个设计决策,导致这个系统,我们报告的结果,使用CTGC的一组基准,包括一个现实世界的程序,最后,我们讨论进一步可能的改进。基准测试显示大量的内存节省和执行时间的显着减少。
英文摘要:
Compile-time garbage collection (CTGC) is still a very uncommon feature within compilers. In previous work we have developed a compile-time structure reuse system for Mercury, a logic programming language. This system indicates which datastructures can safely be reused at run-time. As preliminary experiments were promising, we have continued this work and have now a working and well performing near-to-ship CTGC-system built into the Melbourne Mercury Compiler (MMC). In this paper we present the multiple design decisions leading to this system, we report the results of using CTGC for a set of benchmarks, including a real-world program, and finally we discuss further possible improvements. Benchmarks show substantial memory savings and a noticeable reduction in execution time.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。