|
|
|
|
|
by pebal
437 days ago
|
|
Java currently has no fully concurrent GC, and due to the volume of garbage it manages and the fact that it moves objects, a truly fully concurrent GC for this language is unlikely to ever exist. Non-moving GCs, however, can be fully concurrent — as demonstrated by the SGCL project for C++. In my opinion, the GC for Go is the most likely to become fully concurrent in the future. |
|
In that case, are you doing atomic writes for managed pointers/the read flag on them? I have read a few of your comments on reddit and your flags seem to be per memory page? Still, the synchronization on them may or may not have a more serious performance impact than alternative methods and without a good way to compare it to something like Java which is the state of the art in GC research we can't really comment much on whether it's a net benefit.
Also, have you perhaps tried modeling your design in something like TLA+?