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.3 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 5FADCBBCA for ; Fri, 9 May 2008 20:17:35 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AhgBAIMxJEjBtPs+mmdsb2JhbACSBwEBAQEBBgcIBxEFmSU X-IronPort-AV: E=Sophos;i="4.27,461,1204498800"; d="scan'208";a="12046603" Received: from mailgw4.ericsson.se ([193.180.251.62]) by mail1-smtp-roc.national.inria.fr with ESMTP; 09 May 2008 20:17:35 +0200 Received: from mailgw4.ericsson.se (unknown [127.0.0.1]) by mailgw4.ericsson.se (Symantec Mail Security) with ESMTP id 71DFC2012E; Fri, 9 May 2008 20:17:32 +0200 (CEST) X-AuditID: c1b4fb3e-ab192bb000004ec0-a7-4824953cb50e Received: from esealmw126.eemea.ericsson.se (unknown [153.88.254.123]) by mailgw4.ericsson.se (Symantec Mail Security) with ESMTP id 53FA42006D; Fri, 9 May 2008 20:17:32 +0200 (CEST) Received: from esealmw126.eemea.ericsson.se ([153.88.254.174]) by esealmw126.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Fri, 9 May 2008 20:17:32 +0200 Received: from ws73032.uab.ericsson.se ([130.100.73.32]) by esealmw126.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.1830); Fri, 9 May 2008 20:17:32 +0200 Received: from [153.88.16.56] by ws73032.uab.ericsson.se (8.11.7p2+Sun/client-1.3uab4) id m49IHVa05891; Fri, 9 May 2008 20:17:31 +0200 (MEST) Message-ID: <4824953A.4000207@ericsson.com> Date: Fri, 09 May 2008 20:17:30 +0200 From: "Ulf Wiger (TN/EAB)" User-Agent: Thunderbird 2.0.0.14 (Windows/20080421) MIME-Version: 1.0 To: Jon Harrop Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Re: Why OCaml sucks References: <200805090139.54870.jon@ffconsultancy.com> <200805090609.36123.jon@ffconsultancy.com> <48244B04.8020205@ericsson.com> <200805091846.32238.jon@ffconsultancy.com> In-Reply-To: <200805091846.32238.jon@ffconsultancy.com> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 09 May 2008 18:17:32.0183 (UTC) FILETIME=[F2B63270:01C8B200] X-Brightmail-Tracker: AAAAAA== X-Spam: no; 0.00; ocaml:01 parallelism:01 mutable:01 erlang:01 mutable:01 achieves:01 erlang:01 uniformly:01 inherently:01 scalable:01 parallelism:01 scalable:01 wrote:01 caml-list:01 data:02 Jon Harrop skrev: > On Friday 09 May 2008 14:00:52 you wrote: >> Jon Harrop skrev: >>> . Parallelism is for performance and performance >>> >> > requires mutable data structures. >> >> I disagree. SMP Erlang has no mutable data structures, >> but achieves very good scalability anyway. > > Scalability != performance. For CPU intensive tasks, > Erlang is uniformly slow. I don't see how you can say that. If you introduce the restriction that there can be only one CPU, then this might be true. Some applications are very difficult to scale to multiple CPUs, but others are inherently scalable. For some problems, mutable data structures make all the difference, and in others, they just make a mess of things. If you say "parallelism is for performance", you imply that the program is scalable, and that it actually makes a difference to add more CPUs. In this case, mutable the presence of data structures will make scaling more difficult. Most problems involved in utilizing multicore boil down to the widespread use of mutable data structures. If the problem isn't scalable, then other tricks are needed to achieve performance, and mutable data structures may be indispensable. BR, Ulf W