A separate GC idea - multiple D GCs
elronnd at elronnd.net
Sat Jan 22 16:45:02 UTC 2022
On Saturday, 22 January 2022 at 12:39:44 UTC, Ola Fosheim Grøstad
> Here are some downsides of a forking collector:
> 1. messes with TLB, wipes all caches completely (AFAIK).
Probably likely to evict some stuff, but I don't see why you
would lose everything.
> 2. will hog extra threads, thus if your program is using all
> cores, you will see a penalty
It probably isn't using all threads, though.
> 5. if you actually are out of memory, or close to it, then
> there is no way for you to fork, so it will fail and the
> process will instead be killed
You can fall back to regular gc if fork fails (and I think the
fork gc does this).
> If you are going high level, you might as well introduce write
> barriers for pointer mutation.
I agree with your other critiques, and I agree with this.
More information about the Digitalmars-d