[ZODB-Dev] Re: [Zope3-dev] Re: [Zope-dev] Re: 64-bit BTrees

David Binger dbinger at mems-exchange.org
Fri Apr 14 15:48:37 EDT 2006


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" ;-):
>>
>>    http://www.mems-exchange.org/software/durus/
>>
>> )
>>
>> 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".

Understood.

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.

















More information about the ZODB-Dev mailing list