On Nov 14, 2007 1:40 PM, Christophe Combelles <[EMAIL PROTECTED]> wrote:
> That's my understanding, however that does not really explain why looping over
> non-persistent objects in a btree should absolutely raise everything in the 
> memory.

When using non-persistent objects, the records holding the leaf
buckets of the tree actually contain the serialized values, so just
loading the buckets (necessary for iteration to load the keys) loads
the stored values.

> And what about IIBTrees? (integers are not persistent by themselves)

The "I" in IIBTree and IOBTree means that the buckets actually store
the intergers directly; they aren't Python integer objects in the
storage.  This makes them highly efficient at storing the integers,
both in and out of memory.


Fred L. Drake, Jr.    <fdrake at gmail.com>
"Chaos is the score upon which reality is written." --Henry Miller
Zope3-users mailing list

Reply via email to