Trying to be a little bit constructive here, in case I come across as
complaining, I took the source for c.d.json and put it into a
leiningen project, enabled warn on reflection, and found that several
cases of (... (let [c (char i] ... (= c \x) ...) results in Clojure
deciding it needs to perform reflection in order to call equals in the
comparison with a fixed character. I'm not really sure what the proper
solution for this is, but I changed the "let" to (let [c
(Character/valueOf (char i)] ...) and the time for my 217KB JSON file
dropped from 107 seconds to 2 seconds, or only a little more than
twice as slow as clj-json (which clocked in a little under one second
for my file).

Lars Nilsson

-- 
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

Reply via email to