durusmail: durus-users: My wish-list for Durus 3.5
My wish-list for Durus 3.5
2006-05-22
2006-05-22
2006-05-22
2006-05-22
2006-05-22
2006-05-24
My wish-list for Durus 3.5
Jesus Cea
2006-05-22
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Some people have complained by personal email about my "noise" in the
list, and my constant demand of new features. No, not the mems-exchange
guys. In fact David is being very nice to me.

To make a long story short, and my point clear, my wish-list for Durus
3.5 would be:

1. A better behaviour of the new unix domain sockets when the filesocket
is already present in the filesystem.

2. A PersistentString class. I know this can be difficult with things
like the unmutability or the hash-ability.

3. A BIG latency improvement when commiting a lot of new objects. The
fundamental latency issue here is the "new_oid" burst. Would be nice if
this improvement could be done without losing a lot of OIDs for short
"connection" sessions, but it is not a requirement. I know that
suspending a "_persisten_id" call to know in advance how many new
objects are we commiting is probably not possible. But "persistent.c"
could probably track new persistent instances not asigned yet to a
connection (so, new objects) and give that value efficiently. We can't
suppose all new objects are going to commit in the same connection if
there are several ones, but we could request a "new_OIDs" count of
"min(new_persistent_objects_count,100)", for example.

4. Try to reuse unused OIDs in future transactions. The unused OIDs are
those dropped when a transaction conflicts. Point 3+4 could reuse the
same datastructures (a pool of unused but assigned OIDs).

5. client<->server connections should include a version number, to be
able to detect mismatched connections automatically.

6. BTree objects need a "touched" method. I hate to do "a[b]=a[b]" to
notify the persistence framework about changes in "a[b]" when it is a
non-persistent container. I've had problems with some of my junior
coders removing such a "redundant" code because "it does nothing". Argggg!.

I have a lot of additional ideas for durus improvement, but I will wait
until 3.5 is out :p

Thanks for your hard work, David. Durus is great.

- --
Jesus Cea Avion                         _/_/      _/_/_/        _/_/_/
jcea@argo.es http://www.argo.es/~jcea/ _/_/    _/_/  _/_/    _/_/  _/_/
jabber / xmpp:jcea@jabber.org         _/_/    _/_/          _/_/_/_/_/
                               _/_/  _/_/    _/_/          _/_/  _/_/
"Things are not so easy"      _/_/  _/_/    _/_/  _/_/    _/_/  _/_/
"My name is Dump, Core Dump"   _/_/_/        _/_/_/      _/_/  _/_/
"El amor es poner tu felicidad en la felicidad de otro" - Leibniz
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBRHGkyplgi5GaxT1NAQIgeAQAhCrueqDYQcAf/GLonRSQFTAiLEwMHaCy
m8JG7//U77mK9ddAeAYgW0heD7iA1+naILcoXyJypx7X6quOeWQ5RN2Xw9colZ/d
Lx/tBK4aiRaS+PpnFs7E8NItkAUTwworql3IgvYSCX+OUB/b6e42lKFz+Pd5lsnb
lxSuDMnvudI=
=t6jr
-----END PGP SIGNATURE-----
reply