From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.4 required=5.0 tests=AWL autolearn=disabled version=3.1.3 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 63E48BC37 for ; Thu, 11 Jun 2009 23:41:33 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: ApIFAAcXMUrUnwdkbmdsb2JhbACCHpYhDQgLCRAGuAiECgU X-IronPort-AV: E=Sophos;i="4.42,204,1243807200"; d="scan'208";a="31058889" Received: from relay.pcl-ipout02.plus.net ([212.159.7.100]) by mail1-smtp-roc.national.inria.fr with ESMTP/TLS/RC4-SHA; 11 Jun 2009 23:41:33 +0200 X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Al0FAEMXMUrUnw6S/2dsb2JhbACCHs5mhAoF Received: from ptb-relay02.plus.net ([212.159.14.146]) by relay.pcl-ipout02.plus.net with ESMTP; 11 Jun 2009 22:41:32 +0100 Received: from [87.115.156.101] (helo=[192.168.2.7]) by ptb-relay02.plus.net with esmtp (Exim) id 1MEs1c-000568-Ig for caml-list@yquem.inria.fr; Thu, 11 Jun 2009 22:41:32 +0100 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] The state of ML: multi-threaded, saved state and support platforms Date: Thu, 11 Jun 2009 22:46:48 +0100 User-Agent: KMail/1.9.9 References: <4A310EE5.7070704@inf.ed.ac.uk> <20090611154910.GA27827@annexia.org> In-Reply-To: <20090611154910.GA27827@annexia.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200906112246.48317.jon@ffconsultancy.com> X-Plusnet-Relay: 729a411aaa7a9f6938e0d63478239265 X-Spam: no; 0.00; tpl:01 ocaml:01 tpl:01 ocaml:01 computations:01 workarounds:01 2009:98 frog:98 wrote:01 caml-list:01 computation:01 data:02 suffice:03 mpi:04 passing:05 On Thursday 11 June 2009 16:49:10 Richard Jones wrote: > which will work better on new multicore machines which are all NUMA > nowadays, Spawning parallel work items is 30,000x faster in F# using the TPL than in OCaml using fork. Passing data is asymptotically faster in F# using the TPL than in OCaml using MPI. Cilk is much faster still. In other words, F# can do 60MFLOPS of computation in the time it takes OCaml to fork a single process. Suffice to say, there is no way any approach currently available in OCaml "will work better on new multicore machines". > and in any case is simpler to program On the contrary, OCaml is a *lot* harder to program because it introduces additional complexity. Specifically, communication is now O(n) instead of O(1), including gathering the results of parallel computations. There are workarounds but they require manual memory management which is even more unnecessary complexity. -- Dr Jon Harrop, Flying Frog Consultancy Ltd. http://www.ffconsultancy.com/?e