No GC
Open
kind/enhancement
- Dominant language
- Go
- Stars
- 17.1k
- Forks
- 3.2k
- Avg merge
- 3d 18h
- Merged PRs (30d)
- 11
Description
So, something has been bugging me about GC and I finally put my finger on it: we have a *DAG*, we don't have *cycles*. Modern GC algorithms were designed for systems with cycles. We **should not** be using GC, we **should** be using refcounting.
We can even do a lot of the bookkeeping lazily in the background (as long as we catch up by the time we need to do a GC).
The primary advantage of using refcounting is that we won't have to recompute everything every GC cycle (we can do bookkeeping). This may make, e.g., IPLD selector pins doable (something we'll want for ipfs-cluster).
@whyrusleeping @Kubuxu
Contributor guide
Assessment
This issue has not been assessed yet.