On Apr 14, 2006, at 1:45 PM, Dieter Maurer wrote:
Tim Peters wrote at 2006-4-13 19:44 -0400:
Beyond that, it requires someone to try
it. I'm reminded that when the MEMS Exchange wrote Durus (a kind of
"ZODB lite" ;-):
they left their entire BTree implementation coded in Python -- it was
"fast enough" that way.
I can tell you from experience that for cataloguing purposes
a C implementation is vital:
My C based "IncrementalSearch2"
performs large "or" queries two orders of magnitude faster
than the Python based "IncrementalSearch".
We added BTrees to Durus, not to save cpu cycles, but for better
memory/storage behavior, which for our applications seems to be
more important than the speed of low level BTree operations.
I assume that a C implementation for specialized
key/value types must be even better for memory/storage behavior
since you can arrange things to be more compact.
Of course the low level operations can be faster too,
and available for direct access from other C extensions,
and everybody likes that.
For more information about ZODB, see the ZODB Wiki:
ZODB-Dev mailing list - ZODB-Dev@zope.org