← Back to context

Comment by bheadmaster

2 years ago

> What's your issue with the wording?

1) The first sentence clearly stated that:

    Most objects (~90-100%) are freed by V's autofree engine: the compiler inserts necessary free calls automatically during compilation. Remaining small percentage of objects is freed via reference counting.

Which explicitly implies that objects are exclusively freed only by autofree and reference counting.

2) Your emphasis of "everything" seems to imply a contrast to Python or Go method of memory deallocation:

    "It just works", like in Python, Go, or Java, except there's no heavy GC tracing everything

which would mean that Python, Go and Java trace everything, which isn't true. None of the three languages (Python, Go, or Java) use GC to trace everything - there are multiple optimizations (such as escape analysis and reference counting) that allow a certain percentage of objects to be freed by means other than tracing GC.

> Which explicitly implies that objects are exclusively freed only by autofree and reference counting.

Yes, and what's wrong with that? That's how it works now too, except RC has been replaced by a tracing GC.