Re:Reference count, don't garbage collect
by dataflow on Friday July 29, 2022 @11:31PM
(#32284050)
I'm gonna take a guess they dedicate a core to GC (or something along these lines).
[ Parent
| on HN ]
Re:Reference count, don't garbage collect
by mbrodersen on Saturday July 30, 2022 @09:20PM
(#32292190)
No each thread does it’s own alloc/free. I reduce the locking to a minimum by using per-thread caching and memorisation. I had to implement that to make the code scale linearly with number of cores. Without per-thread caching it would only scale to about 3 cores. Now it scales very cleanly. Which is nice.
That's not enough. Imagine a circular linked list. GC looks at an outside pointer to item A in it. Now another thread removes A from the list and moves the outside pointer to the next item. After that, GC would see all items in the list not referenced by anything (apart from the cycle).