Practical Aspects for a Working Compile Time Garbage Collection System for Mercury
<|reference_start|>Practical Aspects for a Working Compile Time Garbage Collection System for Mercury: 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.<|reference_end|>
@article{mazur2001practical,
    title={Practical Aspects for a Working Compile Time Garbage Collection System
  for Mercury},
    author={Nancy Mazur (1), Peter Ross (2), Gerda Janssens (1) and Maurice
  Bruynooghe (1) ((1) Dept. of Computer Science K.U.Leuven, (2) Mission
  Critical)},
    journal={arXiv preprint arXiv:cs/0110037},
    year={2001},
    archivePrefix={arXiv},
    eprint={cs/0110037},
    primaryClass={cs.PL}
}