ipfs / ipfs/kubo

No GC

Open
#4,382 17 comments 9 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.