On Friday, 22 December 2017 at 04:56:57 UTC, thedeemon wrote:
Making the GC more like in Go and JVM means adding write barriers, it means making general code slower (we're not fast-as-C anymore), it means losing easy C compatibility (hello FFI!), it means forbidding many current language features like unions and casts, it means changing the language to something that's not D anymore.

So I think we can expect some minor improvements in GC, but nothing radical.

What about a special GC mode for SafeD only processes which could probably be made precise and maybe even concurrent? If a process is entirely in SafeD the GC would run in the "safed" mode otherwise the conservative GC is being run.

Go seems to make the following assumption which should be doable for D too: "Starting with Go 1.3, the runtime assumes that values with pointer type contain pointers and other values do not." [1]

[1] https://golang.org/doc/go1.3#garbage_collector

Reply via email to