I spent some time this morning on performance enhancements to clojure.data.json, including a fix for DJSON-1. I just pushed release 0.1.2 to Sonatype; it will reach Maven Central in a few hours.
I added a `benchmark` function to clojure.data.json-test for easy comparison. On Clojure 1.3.0, I get these numbers: ;; clojure.data.json 0.1.1 "Elapsed time: 2288.791 msecs" "Elapsed time: 1821.382 msecs" "Elapsed time: 1803.054 msecs" "Elapsed time: 1745.032 msecs" "Elapsed time: 1729.438 msecs" "Elapsed time: 1725.459 msecs" "Elapsed time: 1715.483 msecs" "Elapsed time: 1719.421 msecs" ;; clojure.data.json 0.1.2 "Elapsed time: 398.622 msecs" "Elapsed time: 157.456 msecs" "Elapsed time: 123.712 msecs" "Elapsed time: 105.424 msecs" "Elapsed time: 60.018 msecs" "Elapsed time: 59.023 msecs" "Elapsed time: 51.412 msecs" "Elapsed time: 64.738 msecs" It can probably be made faster still, but that's a good start. Next steps: a better API. The boolean argument for keyword vs string keys is obscure. Keyword/option-style arguments would be better. With that option being more visible, I'm really tempted revert to string keys as the default. It's the only safe option: Otherwise, you can easily get Clojure keywords that cannot be pr'd and read back. -Stuart Sierra clojure.com -- 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