Pascal Costanza wrote on Thu, Dec 03, 2020 at 04:17:56PM +0100:
Parallel GC is no problem and implemented.
Which CL implementations have a parallel GC?
Clasp (via Boehm GC and MPS).
I thought SBCL was there, but I just checked, not yet. I think Google is pushing for a parallel GC instead, because of response times to their production monitoring.
Another untapped source of performance is userfaultfd(2) in the Linux kernel. It allows those GCs that implement a write barrier using page protections SIGSEGV to use the faster userfaultfd interface instead (as opposed to those using a bitmap). This won't help concurrent GC, but parallel GC would benefit even more than single-thread GC because it uses faster system calls. Proof of concept is here: https://www.cons.org/cracauer/cracauer-userfaultfd.html
Martin