Re:Show HN: A pure reference counting GC in Go
by zozbot234 on Wednesday January 15, 2020 @04:16AM
(#22052817)
Reference counting may have flexibility advantages compared to tracing GC. Obligate reference counting (ala ObjC/Swift) vs. obligate tracing GC is not the only relevant comparison.
[ Parent
| on HN ]
Re:Show HN: A pure reference counting GC in Go
by pjmlp on Wednesday January 15, 2020 @04:46AM
(#22052958)
The only flexibility is that is easier to implement, whence why it is usually the first GC algorithm one learns, and among the initial chapters of GC algorithms overview books.
Re:Show HN: A pure reference counting GC in Go
by ckok on Wednesday January 15, 2020 @05:34AM
(#22053150)
The algorithm used here is a combination of both rc and tracing, it's not simple.
Re:Show HN: A pure reference counting GC in Go
by pjmlp on Wednesday January 15, 2020 @05:37AM
(#22053159)
Thus making the point that in the end it always ends up being some form of tracing GC when performance matters.
Re:Show HN: A pure reference counting GC in Go
by ckok on Wednesday January 15, 2020 @07:52AM
(#22053754)
Right. To make RC work like a tracing GC (performant and without failing on circular references); it's going to be a combination. That said, there are a lot of interesting ideas in this that might be quite worth it. Like the article referenced, doesn't do a full heap scan, but makes a note of what is worth looking at.