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.

Reply via email to