[ZODB-Dev] BTrees, Sets, Performance, and Scalability

Jim Fulton jim@zope.com
Wed, 15 Aug 2001 13:03:44 -0400


"John D. Heintz" wrote:
> 
> What are the performance and scalability characteristics of the BTrees data
> structures?
> 
> Specifically, I recently found out that BTrees.OOBTree.OOSet doesn't use
> buckets to store its contents.  This is probably simply for performance of
> set operations, but it really messed up my scalability for a while because I
> was trying to store an ever increasing number of keys in the OOSet.  I'm now
> using an OOBTree for this data structure - but I dislike using maps this way.

You want OOTreeSet, which is a set that is implemented as a tree of OOSets.

BTW, for better scalability, use integer keys and/or values whenever you can.

> Any pointers to documentation would be appreciated.  If the answer is use the
> source then I will, but I'll also find a documentation bug ;-)

I'd love to see more documentation. Interfaces.py is a rough start.

Jim

--
Jim Fulton           mailto:jim@digicool.com   Python Powered!        
Technical Director   (888) 344-4332            http://www.python.org  
Zope Corporation     http://www.zope.com       http://www.zope.org