[Zope3-Users] (solved?) Large mappings or sequences in ZODB eat all the memory

Fred Drake fdrake at gmail.com
Wed Nov 14 13:52:03 EST 2007


On Nov 14, 2007 1:40 PM, Christophe Combelles <ccomb at free.fr> 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

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


More information about the Zope3-users mailing list