Martijn Pieters wrote:
From: "Michel Pelletier" <michel@digicool.com>
alan runyan wrote:
Actually, the Members roster is a bit more efficient. It uses caching to store the results. This was added only recently, before the roster was offline for a while because it was taking too much resources.
folders, and check wether or not they are listed. From listed Folders (just over a 1000 now), we store the id and title in a list. This list is sorted
1000 is still too many to be efficient in a regular folder. You're right that a BTree is probably the way to go here. I didn't know about the caching efforts, it seems like you went through some hoops to come up with a better solution. I think that we should seriously look into or have someone in the community look into my BTree folder efforts to come up with a better solution. Depending on when I wake up tommorow, I'll see if I can fix the various bugs in BTreeObjectManager and make an alpha release. The only big question I can think of is, should BTreeObjectManager replace ObjectManager? Obviously not at first, but we should maybe look into replacing OM with a more efficient form. Looking strictly at performance, I don't see any reason why this should be the case. In all cases, a BOM should be faster than an OM. BOM are not any less efficient in resource consumption either, and they are written in C, not python. Zope's BTree implementation is also very well tested, and written by Jim, 'nuff said. ;) -Michel