On Wednesday, 4 March 2015 at 10:49:06 UTC, Walter Bright wrote:
On 3/4/2015 2:03 AM, deadalnix wrote:
A free list does not work as the data can be live.
It is a "to free" list.
What I wanted to illustrate is that it is not a free list (which
use the freed storage to maintain its state) as you cannot
recycle storage.
You need to maintain metadata about allocation in
another structure.
I don't see why.
Isn't it what the "to free" list is ?
Also you cannot free anything until all the refcount are to 0.
Right.
This RC system will only cut it for short lived entities.
Not a problem if they aren't constantly reassigning the value.
Having pool of object you recycle is a common strategy to reduce
allocations when performance is critical. It is for instance
incompatible with RC as proposed.