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
--
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Martin Cracauer <cracauer@cons.org>
http://www.cons.org/cracauer/