[DGD] Keeping track of clones

Par Winzell zell at skotos.net
Thu Aug 25 17:14:01 CEST 2005


> I am a little hazy on when exactly an object is swapped in. But from 
> what you say I take it that doing and ob = find_object("/foo/bar#123") 
> wouldn't swap that object in, if it was found? Only if I'd start calling 
> functions in that object? Or only if I'd call functions that'd actually 
> change its state? Or...?

Any function call swaps it in, so traversing 100,000 clones in a linked 
list takes a looong time. You can do find_object(), object_name(), 
status() etc on objects without swapping them in, which is sometimes 
enough for what you want to do.

The biggest reason for switching from linked list to mapping of mappings 
for us was the call_touch() stuff -- I wanted to easily and quickly be 
able to schedule tons of clones for automatic dataspace updating, so I 
need all the object pointers, but don't need to do anything with them at 
the moment except pass them into call_touch().

Zell



More information about the DGD mailing list