[erlang-questions] distributerl-0.1 (with improved Merkle trees)
Mon Sep 15 17:35:47 CEST 2008
Thanks for your interest.
The current implementation does not yet make any attempt at space optimization only due to the fact that the single application it is actively used in does not happen to need very large trees in practice at this time. I know of a few ways we could reduce the space used; they just haven't been worthwhile to focus on yet.
Also, the internal structure used for the trees right off was somewhat space-wasteful due to focusing the first swing more on being relatively easy to understand. We're certainly interested in improving efficiency at some point - if you care about it now, I'd welcome either private discussion or patches in the interest of improvement.
On 9/15/08 11:07 AM, "Davies Liu" <> wrote:
I care about the Space-efficient of Merkle Tree,
how many keys (with length 20 bytes) can been stored in 1G memory?
On Mon, Sep 15, 2008 at 9:53 PM, Justin Sheehy <> wrote:
(erlang-questions is on the CC list because there was interest in this topic
before and I do not know of a general announcement list for such things)
This is the second release of distributerl. The first had no version number,
and was mainly intended to get the code into the hands of other potential
users and experimenters as quickly as possible -- motivated by requests for
such code by projects including but not limited to the Kai project. The
distributerl-0.1 release is driven by two improvements to the Merkle Tree
1. User-specified keys for objects are now arbitrary terms
instead of being restricted to 160b binaries.
2. A bug that caused incorrect diff/2 results has been fixed.
Due to item #2, any systems making use of merkerl.erl should upgrade.
A couple of smaller handy features were also added:
1. New function merkerl:delete/2 means that items can be
deleted from trees.
2. New function merkerl:allkeys/1 will return the keys for
all objects in a tree.
(The vclock and chash modules are unchanged in this release)
Future releases will include generic versioned objects, gossip protocol, and
proper packaging of the modules.
The project can be found at http://code.google.com/p/distributerl/
If you have any thoughts or questions about this, just drop me a line.
erlang-questions mailing list
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the erlang-questions