Mac Apps That Use Garbage Collection Must Move to ARC
via Digitalmars-d
digitalmars-d at puremagic.com
Sun Feb 22 07:20:47 PST 2015
On Sunday, 22 February 2015 at 12:55:17 UTC, Benjamin Thaut wrote:
> 1) We need full percise pointer discovery, even for pointers on
> the stack.
> 2) We need write barriers.
>
> 1) Is a really complex task for a language like D. There is a
> reason why java has so a small feature set.
Worse than complex, you need a strongly typed language. D's type
system is ad hoc, aka broken.
> 2) For some reason nobody likes write barries because the
> general fear is, that they will cost performance, so it was
> decided to not implement them. (Without actually measuring
> performance impact vs GC improvement)
Barriers in a loop is not good...
3. you need to get rid of destructors et al from GC.
> The problem is that, to implement a non stop-the-world-GC you
> need 2) and to implement a GC which is on par with Java or C#
> you need 1).
Fortunately you can make do with "stop the GC threads" and still
have good real time responsiveness. But that requires:
1. minimal scanning (implies significant language and compiler
changes)
2. non-polluting cache friendly scanning (implies tunable or slow
scan in favour of real time non-gc threads)
More information about the Digitalmars-d
mailing list