From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail1-relais-roc.national.inria.fr (mail1-relais-roc.national.inria.fr [192.134.164.82]) by yquem.inria.fr (Postfix) with ESMTP id 7EDC2BC37 for ; Sun, 20 Dec 2009 04:29:56 +0100 (CET) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkMBAI8oLUvUnwdkkGdsb2JhbACCGZk5AQEBAQkJDAcTBLcfhC4E X-IronPort-AV: E=Sophos;i="4.47,425,1257116400"; d="scan'208";a="42462748" Received: from relay.pcl-ipout02.plus.net ([212.159.7.100]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 20 Dec 2009 04:29:56 +0100 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ArEEAI8oLUvUnw4T/2dsb2JhbACCGdEYhC4E Received: from pih-relay06.plus.net ([212.159.14.19]) by relay.pcl-ipout02.plus.net with ESMTP; 20 Dec 2009 03:29:55 +0000 Received: from [87.114.35.173] (helo=leper.local) by pih-relay06.plus.net with esmtp (Exim) id 1NMCUV-0002JA-CP for caml-list@yquem.inria.fr; Sun, 20 Dec 2009 03:29:55 +0000 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Re: OCaml is broken Date: Sun, 20 Dec 2009 04:43:57 +0000 User-Agent: KMail/1.9.9 References: <4B2D2BC1.6020204@msu.edu> In-Reply-To: <4B2D2BC1.6020204@msu.edu> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200912200443.57698.jon@ffconsultancy.com> X-Plusnet-Relay: 3a94e9b19078ff0453cea775706a2283 X-Spam: no; 0.00; ocaml:01 jocaml:01 ocaml:01 runtime:01 haskell:01 haskell:01 lacks:01 ocaml's:01 2009:98 frog:98 threads:01 sml:01 sml:01 wrote:01 unix:01 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