logoalt Hacker News

quotemstrtoday at 7:42 PM3 repliesview on HN

Gossamer has a cycle collector and eager reference counting. Good luck dropping the last reference to a 10,000-node graph, especially if cyclic. That means it doesn't have "pause free" memory. If you want pause freedom, go use ZGC or another modern GC on a modern VM.

I just can't take seriously this spate of languages that ignore the past 30 years of research into automatic memory management. We have multiple open-source pauseless miracles GCs right there before our eyes, yet it's the trendy thing in language design to foist memory management on users.

You don't even have to use a big VM if you want good GC. Go use MPS. Lots of options out there, even if you want to implement your own VM.


Replies

smj-edisontoday at 9:19 PM

The one plus I'll give reference counting is it still takes the cake for interoperability with C. Which is only important if you need good interoperability, but when you do, tracing GCs don't play nice.

platinumradtoday at 7:47 PM

> We have multiple open-source pauseleses miracles right there before our eyes

Is this meaningfully true in a practical sense? I've been writing code with soft real-time requirements and I don't think your notion of "pauseless" suffices. And if these miracles are open-source and right before our eyes, why do languages like Crystal and D still use Boehm?

show 3 replies
iyntoday at 7:49 PM

> We have multiple open-source pauseless miracles GCs right there in front of us

Can you share some links/references?

show 2 replies