M3

David Terei, Alex Aiken, Jan Vitek
2014 Proceedings of the 2014 international symposium on Memory management - ISMM '14  
Real-world garbage collectors in managed languages are complex. We investigate whether this complexity is really necessary and show that by having a different (but wider) interface between the collector and the developer, we can achieve high performance with off-the-shelf components for real applications. We propose to assemble a memory manager out of multiple, simple collection strategies and to expose the choice of where to use those strategies in the program to the developer. We describe and
more » ... evaluate an instantiation of our design for C. Our prototype allows developers to choose on a per-type basis whether data should be reference counted or reclaimed by a tracing collector. While neither strategy is optimised, our empirical data shows that we can achieve performance that is competitive with hand-tuned C code for real-world applications.
doi:10.1145/2602988.2602995 dblp:conf/iwmm/TereiAV14 fatcat:fcfoyo5vvnh6fkndwt3noae7u4