Hi Bill,

This sounds interesting, but the descriptions here and on the project page 
are pretty high-level.  Are there more details available?  One question I 
have in particular is, what do you mean by "update"?  From what I can tell, 
aatree provides an immutable/persistent data structure compatible with 
Clojure maps.  But then you say that serializing "updates" is done 
incrementally.  Could you elaborate on this?  Do you mean that the new copy 
to be serialized is basically diff'd agaist the old version, and just the 
difference is serialized?

Thanks,

Nathan Davis

On Monday, September 28, 2015 at 7:39:28 PM UTC-5, William la Forge wrote:
>
> Too often when dealing with data saved on disk you find yourself having to 
> deserialize a large block of data, make a small update, and then 
> reserialize the whole thing and write it back to disk. Deserialization and 
> reserialization are quite slow, so having to deserialize and reserialize a 
> large block of data for each small update creates a bottleneck. In this 
> case, incremental deserialization / reserialization will be a substantial 
> improvement.
>
> Release 0.3.0 provides lazy aa maps and lazy aa vectors, which can be used 
> as the top-level container for large blocks of durable data. Serialized 
> data is binary and organized in a binary tree. To access an entry, only the 
> nodes in the path from the root to the node of interested must be 
> deserialized. And only the updated nodes (and their parent nodes) need to 
> be subsequently reserialized. So the speed improvement is substantial. 
> (Benchmark code is provided)
>
> As with previous releases, collection-check 
> <https://github.com/ztellman/collection-check> is used to validate the 
> vector and map implementations.
>
> https://github.com/laforge49/aatree#readme
>
> Your feedback here is greatly appreciated!
>
> Bill
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to