Seems like every time I do a Clojure talk I get questions I can't answer. I did an informal session last night for Portland's Functional Programming Study Group.
Two questions came up: First, a Haskell coder made the broad claim that other attempts at STM did not use MVCC because it was "too slow". I responded to the effect that Clojure HashMap's are really fast and fast to mutate (he countered with Haskell being able to modify an unmodifiable map in place if there's only one reference to it). I also emphasized that Rich is very concerned with performance and that if Clojure STM would be implemented some other way if MVCC wasn't fast enough. In retrospect, the right answer may have been more to the effect that Clojure STM limits the number of mutable "slots" (the refs) to keep it efficient. What's the correct response here? Secondly, I told the story about the big simulation on the Azul, and the 20 gig of GC/sec, etc. So if you've coded your simulation really well, do 600 cores give you a 600x speedup over a single core? (Of course not). Given that 10% of the cores are doing GC, how much benefit to you get from spreading across multiple cores? And how much better (or worse) is Clojure at this than a typical, non-naive, Java approach? -- Howard M. Lewis Ship Creator of Apache Tapestry Director of Open Source Technology at Formos --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/clojure?hl=en -~----------~----~----~----~------~----~------~--~---
