A separate GC idea - multiple D GCs

Elronnd 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 mailing list