[m-dev.] Article about memory fragmentation
sebastian.godelet at outlook.com
Mon Oct 10 22:29:31 AEDT 2016
> Please let me know if I've gotten anything wrong, or of course if you have
> any other comments.
With Mercury we have the advantage of easily testing the impact of a mark and sweep collector like BDWGC and a generational garbage collector such as SGEN from Mono.
I'm not sure though if your benchmarking programs work with a high-level backend such as the C# backend,
If yes you could just specify the mono runtime via "mono --gc=boehm" and "mono --gc=sgen"
I think that would lead to a valid comparative analysis, unfortunately not for a C backend.
As Java and C# both switched to a generational GC which I is in both cases implemented via a moving GC I think that this should be explored.
On the other hand the paper Compile time garbage collection for Mercury https://mercurylang.org/documentation/papers/CW2004_03_mazur.pdf or more recently the approach the Rust language is taking are interesting ideas to explore. Although I think creating a Rust backend would be a rather challenging task.
More information about the developers