On Saturday 19 December 2009 19:38:41 Jeff Shaw wrote: > My understanding is that since jocaml uses the regular ocaml runtime, it > is also not multicore enabled. > > Haskell is a functional language that has good performance
GHC and the Haskell language itself have serious performance problems. > that can use multiple processors, but the learning curve is steeper and > higher. And Haskell lacks many of the features OCaml programmers take for granted. > OCaml is a close relative of Standard ML, so there might be some > implementation of SML that you like. MLTon might allow multicore use, > but I'm not sure how mature it is. SML/NJ has a library or language > extension called Concurrent ML, but I think SML/NJ might not use > multiple processors. MLton and SML/NJ are both multicore incapable. The PolyML implementation of SML is multicore friendly but last time I looked (many years ago) it was 100x slower than OCaml for floating point. As long as you're looking at OCaml's close relatives with multicore support, F# is your only viable option. Soon, HLVM will provide a cross-platform open source solution. If you look further you will also find Scala and Clojure. > Note that if you're not using a lot of threads, you can use Unix.fork to > do true multithreaded programming ocaml. We've discussed the problems with that before. Writing a parallel generic quicksort seems to be a good test of a decent multicore capable language implementation. Currently, F# is a *long* way ahead of everything open source. -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e _______________________________________________ Caml-list mailing list. Subscription management: http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list Archives: http://caml.inria.fr Beginner's list: http://groups.yahoo.com/group/ocaml_beginners Bug reports: http://caml.inria.fr/bin/caml-bugs