On Tuesday, 14 March 2017 at 10:05:54 UTC, Russel Winder wrote:
[...]

My gut feeling is that the D language execution and data model is not compatible with a "do not stop the world" GC. However this is opinion not really backed with evidence.

I've recently been made aware of [1] and [2]. GC seems to always be a question of what you're willing to sacrifice, and if you want low pause times AFAIK the only known way to get that is to sacrifice overall throughput. This seems to be contradictory to D's goals of efficiency and control to me.


What needs to happen is for a group of people who like complaining about the GC to get together and gather evidence as to what needs to change in the D language to support a soft real-time compatible GC such as Go, Nim, Java G1, etc. You can't just transplant an algorithm since the GC has to fit with the language data and execution model and D is more like C than like Java or Go.

If the result is that a change to the D execution or data model is needed then this has to be proposed and debated. If this is not something open to change, then there is no point in going any further.

The problem with changing D's execution and/or data model is that AFAIK to be viable for a better GC the necessary sacrifices will ensure that D cannot compete with C in terms of performance anymore. I'm not sure how the majority of the D community would feel about that, but I don't think I at least could still advocate D as a better drop-in replacement for C.


I cannot commit to being involved in anything such as this until 2017- 06-30Y17:01+01:00, but from then there is a good possibility of getting me on board an effort to create a new GC for D (but note I really abhor the Phobos coding style with it's wrongly place opening braces).

OT: That's what (GIT) commit hooks are for. Write how you want, automatically commit as whatever non-Allman, wrong style the project uses.

[1] https://blog.plan99.net/modern-garbage-collection-911ef4f8bd8e?gi=78635e05a6ac#.6zz5an77a [2] http://www.infognition.com/blog/2014/the_real_problem_with_gc_in_d.html


Reply via email to