<HTML>
<HEAD>
<TITLE>Re: [erlang-questions] distributerl-0.1 (with improved Merkle trees)</TITLE>
</HEAD>
<BODY>
<FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Hello Davies,<BR>
<BR>
Thanks for your interest.<BR>
<BR>
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.<BR>
<BR>
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.<BR>
<BR>
Best,<BR>
<BR>
-Justin<BR>
<BR>
<BR>
<BR>
On 9/15/08 11:07 AM, "Davies Liu" <<a href="davies.liu@gmail.com">davies.liu@gmail.com</a>> wrote:<BR>
<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>I care about the Space-efficient of Merkle Tree, <BR>
how many keys (with length 20 bytes) can been stored in 1G memory?<BR>
<BR>
Thank you.<BR>
<BR>
Best regards,<BR>
Davies Liu<BR>
<BR>
On Mon, Sep 15, 2008 at 9:53 PM, Justin Sheehy <<a href="justin@basho.com">justin@basho.com</a>> wrote:<BR>
</SPAN></FONT><BLOCKQUOTE><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'>Hello All,<BR>
<BR>
(erlang-questions is on the CC list because there was interest in this topic<BR>
before and I do not know of a general announcement list for such things)<BR>
<BR>
This is the second release of distributerl. The first had no version number,<BR>
and was mainly intended to get the code into the hands of other potential<BR>
users and experimenters as quickly as possible -- motivated by requests for<BR>
such code by projects including but not limited to the Kai project. The<BR>
distributerl-0.1 release is driven by two improvements to the Merkle Tree<BR>
module:<BR>
<BR>
   1. User-specified keys for objects are now arbitrary terms<BR>
      instead of being restricted to 160b binaries.<BR>
   2. A bug that caused incorrect diff/2 results has been fixed.<BR>
<BR>
Due to item #2, any systems making use of merkerl.erl should upgrade.<BR>
<BR>
A couple of smaller handy features were also added:<BR>
<BR>
   1. New function merkerl:delete/2 means that items can be<BR>
      deleted from trees.<BR>
   2. New function merkerl:allkeys/1 will return the keys for<BR>
      all objects in a tree.<BR>
<BR>
(The vclock and chash modules are unchanged in this release)<BR>
<BR>
Future releases will include generic versioned objects, gossip protocol, and<BR>
proper packaging of the modules.<BR>
<BR>
The project can be found at <a href="http://code.google.com/p/distributerl/">http://code.google.com/p/distributerl/</a><BR>
<BR>
If you have any thoughts or questions about this, just drop me a line.<BR>
<BR>
Cheers,<BR>
<BR>
-Justin<BR>
<BR>
<BR>
_______________________________________________<BR>
erlang-questions mailing list<BR>
<a href="erlang-questions@erlang.org">erlang-questions@erlang.org</a><BR>
<a href="http://www.erlang.org/mailman/listinfo/erlang-questions">http://www.erlang.org/mailman/listinfo/erlang-questions</a><BR>
</SPAN></FONT></BLOCKQUOTE><FONT FACE="Calibri, Verdana, Helvetica, Arial"><SPAN STYLE='font-size:11pt'><BR>
<BR>
</SPAN></FONT></BLOCKQUOTE>
</BODY>
</HTML>