> So clojure's STM does not fall under the "general purpose" category with
> terrible preformance he was referring to?

This is correct. Clojure has very few ways of modifying global state.
99% of your clojure code should be immutable. Immutable data does not
need to be protected by a STM. In that case, you only have a few refs,
vars, and atoms in Clojure that need to be tracked via STM. As such
the performance of Clojure STM code can come close to that of locks.

Contrast this with, for instance, PyPy. The implement a general STM
system in some of their recent branches. Right now their code runs at
about 25% of the speed of non STM code. They claim that they should be
able to get it much higher, but admit that non-STM VMs will always be
faster than STM VMs.

Timothy

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