Not really chiming in directly on this, but one thing I wanted to note is that getting meaningful performance numbers for keyword-related code is somewhat tricky due to caching and interning.
Keywords are cached so new keyword construction is much slower than existing keyword construction (and there are GC and concurrency-related consequences). Keywords hold symbols that hold strings for namespace and name. Those strings are (until Clojure 1.7) interned in the JVM. That has its own consequences for string construction (interning itself is slow) however hash codes are cached on Strings. As of 1.7, the strings in Symbols are not interned (which is faster for construction, but uses more memory). It is challenging to account for all of these factors when benchmarking in ways that actually represent real applications. Testing your own actual application performance with different strategies and versions is of course, the best way to understand how it actually affects you. On Saturday, October 11, 2014 8:28:22 PM UTC-5, Mike Rodriguez wrote: > > Thanks for taking the time for the (detailed) clarification. I understand > what you were saying now. > :) -- 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.