[Zope] more info about BTree

sean.upton@uniontrib.com sean.upton@uniontrib.com
Mon, 28 Jan 2002 09:26:05 -0800


At least in _setObject(), BTreeFolder hits a wall above around 10,000
objects that slows it down a lot.  This is due to all the ObjectManager
machinery in Zope that does stuff like check security, etc.  There are ways
to access the underlying objects contained in the folder's tree, but this is
unsafe from a security perspective, so if you choose to do this, you should
know what you are doing (you use _getOb() and _setOb() from within a Python
Product, so you should be familiar with creating a Python Product deriving a
subclass from BTreeFolder, and insulate all calls to this in your own
"security" checks and careful coding).  This does yield much better speed,
though, in both setting and getting an object.

A bigger box would definitely help, too.  With that little memory, it also
might not hurt to apply some patches from CVS that implement new indexes for
FileStorage that decrease the per-object storage index overhead (seach the
ZODB-dev list for more info), or upgrade your RAM, since that is a
relatively cheap fix.  

Sean

-----Original Message-----
From: sree [mailto:sree@indiacares.org]
Sent: Monday, January 28, 2002 4:30 AM
To: zope@zope.org
Subject: [Zope] more info about BTree


Dear friends,
Greetings!

I just downloaded BTree and tried working with it as I was told btree 
could handle large no. of objects of similar structure with ease. I 
filled in 15,000 dtml methods and the zope almost stopped responding...
May be my test server ( a pc running win 98, my-sql and zope on 64mb 
ram ) was not good enough. I want to know more about BTree. I searched 
zope site and got only 6 links to the subject was not good enough to 
understand BTree. Does anybody have any web links whith provide more 
info...
Thanks in advance.
Regards,
  - sree



_______________________________________________
Zope maillist  -  Zope@zope.org
http://lists.zope.org/mailman/listinfo/zope
**   No cross posts or HTML encoding!  **
(Related lists - 
 http://lists.zope.org/mailman/listinfo/zope-announce
 http://lists.zope.org/mailman/listinfo/zope-dev )