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.