I've updated the clojure.zip implementation to use records internally. This achieves a speedup of roughly 2x. You can find the library below and on clojars:
https://github.com/akhudek/fast-zip It's a drop in replacement for clojure.zip in terms of interface and usage. However, since the internal representation has changed, fast-zip locations cannot be used with the clojure.zip implementation. E.g. you cannot create a zipper with fast-zip, then use clojure.zip/next on the result. You must use fast.zip.core/next instead. In addition to the micro-benchmark provided, I've tried this in a larger project that makes extensive use of zippers and found a similar speedup. Comments and suggestions welcome. Alex -- -- 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/groups/opt_out.