[DGD] Lightweight objects, arrays and copying

Mikael Lind z94lind at mtek.chalmers.se
Wed Jan 9 11:35:25 CET 2002


Quoting Noah Lee Gibbs from 00:31, 2002-01-09:

> [...]
>
>   The lightweight objects contain object members that point to each
> other, which is fine since they're all sitting inside the same regular
> object.  They contain arrays of references to each other, so they're full
> of circular references.  That's fine, I can break all the circular
> references prior to MUD shutdown so there shouldn't be any problem with
> garbage collection.

Breaking the references at mud shutdown will not matter, as all
memory is freed then anyway. The whole point with garbage collection
is to free unreferenced memory at runtime.

Shortly after announcing the introduction of LWOs, Dworkin stated
that DGD now had fully automated garbage collection. I interpreted
that as being able to free unreferenced data structures, regardless
of whether they contained circular references or not. I could be
wrong ... was I?

>   My question (other than -- is all the above stuff true?) is whether the
> bag object with all its LWOs will have to be swapped in all at once.  If
> it gets very big, will that be a serious problem?

I believe that swapping is handled on a per persistent object basis.
That means that your bag object and all of its referenced,
non-persistent data (including LWOs) will be swapped in or out all at
once. To improve memory performance, you need to find a way to
partition the data into several persistent objects. As you implied,
this may not be worthwhile unless your bag object grows very big.

// Mikael / Elemel

--
I embrace my desire to feel the rhythm / To feel connected enough to
step aside and weep like a widow / To feel inspired / To fathom the
power / To witness the beauty / To bathe in the fountain / To swing
on the spiral of our divinity and still be a human // Tool

_________________________________________________________________
List config page:  http://list.imaginary.com/mailman/listinfo/dgd



More information about the DGD mailing list