Click answers that himself: Clojure usage failure. The particular scenario he is demonstrating is known and has been brought up before. Also it's probably only reproduceable when you have a truly large number of cores (like a 600 way Azul box). In anycase Rich Hickey does not advise against locks when appropriate. Here Click is intentionally applying the wrong solution to the problem perhaps to point out that STM is not magic bullet.
But we already knew that :) On Fri, Sep 18, 2009 at 4:15 AM, Roberto Mannai <roberm...@gmail.com> wrote: > Also the slide 21 should worth an answer: a benchmark of STM with more CPU > gives "Performance died – choked in the STM" > > On Fri, Sep 18, 2009 at 9:22 AM, Michael Wood <esiot...@gmail.com> wrote: > >> >> 2009/9/17 z5h <bolusm...@gmail.com>: >> > >> > Specifically some problems encountered in Clojure's STM and bytecode >> > generation. >> > >> > >> http://www.azulsystems.com/events/javaone_2009/session/2009_J1_JVMLang.pdf >> > (Slide's 8 and 20-21) >> >> I suppose you mean slide 9 rather than 8: >> >> > Clojure - “almost close” >> > * Good: no obvious subroutine calls in inner loop >> > * Bad: Massive “ephemeral” object allocation - requires good GC >> > * But needs Escape Analysis to go really fast >> > * Ugly: fix-num overflow checks everywhere >> > * Turn off fix-nums: same speed as Java >> > * Weird “holes” - >> > * Not-optimized reflection calls here & there >> > * Can get reports on generated reflection calls >> >> Just mentioning that since nobody's commented on it yet. >> >> -- >> Michael Wood <esiot...@gmail.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 -~----------~----~----~----~------~----~------~--~---