durusmail: durus-users: PersistentDict vs BTree
PersistentDict vs BTree
2006-10-03
2006-10-03
2006-10-03
2006-10-03
2006-10-05
2006-10-05
2006-10-05
2006-10-05
2006-10-11
2006-10-11
2006-10-11
2006-10-12
2006-10-12
2006-10-12
2006-10-13
2006-10-13
2006-10-13
2006-10-13
2006-10-13
2006-10-13
Re: PersistentDict vs BTree
2006-10-23
2006-10-31
PersistentDict vs BTree
Patrick K. O'Brien
2006-10-13
Mike Orr wrote:
> On 10/12/06, David Binger  wrote:
>> This seems llike a Python issue more than a Durus one.
>
> That occurred to me after I sent the message.  I've been looking over
> the Durus source, and the only amount of data it seems to add are four
> little attributes in PersistentBase.

If you'll recall a discussion from a while back, I made use of slots
throughout the Schevo fork of Durus, which saved a lot of memory at the
expense of arbitrary attributes.  I seem to recall that you didn't want
to give up your arbitrary attributes, particularly on the root object.
However, a special subclass for your root object would get you the best
of both worlds.  Here is the first post from this old thread:

http://mail.mems-exchange.org/durusmail/durus-users/644/

The current fork has been updated to Durus 3.5, with the addition of
some of the recent patches that have been sent to this list.  The Schevo
fork of Durus that implements slots can be found here:

http://schevo.org/trac/browser/trunk/Schevo/schevo/store

We've converted all Durus unit tests as well, and they all pass.

I still wouldn't mind seeing all these changes make their way back into
Durus.  Beyond the memory savings of the slots, I actually think the
ghosting mechanism I came up with is simpler than the one currently used
in Durus (not a very big advantage, I admit).  Just food for thought...

--
Patrick K. O'Brien
Orbtech       http://www.orbtech.com
Schevo        http://www.schevo.org
Louie         http://www.pylouie.org
reply