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=1.4 required=5.0 tests=SPF_NEUTRAL autolearn=disabled version=3.1.3 Received: from discorde.inria.fr (discorde.inria.fr [192.93.2.38]) by yquem.inria.fr (Postfix) with ESMTP id A6CF6BC69 for ; Wed, 30 May 2007 19:46:12 +0200 (CEST) Received: from wa-out-1112.google.com (wa-out-1112.google.com [209.85.146.178]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l4UHkBvf019941 for ; Wed, 30 May 2007 19:46:12 +0200 Received: by wa-out-1112.google.com with SMTP id m28so1044834wag for ; Wed, 30 May 2007 10:46:10 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=Z6Bbw3UBAKdgwHaqgcM0rm2RUzQ5yq792t/Y7YjTs5Jw+Cn6rXUoaYBm4qnNgfVtUZYooFv6RkWx/M+7GfsxojuCVsMWlHiv7UDt3mbVgEaz9vlCpQcUTBkfPj/1ChEqzdM0nOFvOZUToNweo5kxiMoird5j0ye0xnBQuAoYhBM= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=j/h58vbyvXDfH6jYB23hi40gRBD5cR/i6bMIZXvJJGsN23EEP4dH9hxlqxnUSuyoSVzKh12LwL3PYwQGglP8xxjWGu+uscVN83I8si9Sa4xgXlKvmil5BeYosbVfXDQimUy108ZG5Cbe+RczGQZp15Ka23vgfUhmnF9YUUf8VkM= Received: by 10.114.53.1 with SMTP id b1mr4098400waa.1180547169239; Wed, 30 May 2007 10:46:09 -0700 (PDT) Received: by 10.115.59.8 with HTTP; Wed, 30 May 2007 10:46:09 -0700 (PDT) Message-ID: <1ffe809c0705301046i4f3da8e1ibb20b26f4b1b59b7@mail.gmail.com> Date: Wed, 30 May 2007 14:46:09 -0300 From: "Pablo Polvorin" To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Faking concurrency using Unix forks and pipes In-Reply-To: <200705300954.32784.jon@ffconsultancy.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <200705300442.59906.jon@ffconsultancy.com> <200705300902.06760.jon@ffconsultancy.com> <20070530181300.d4179bca.mle+ocaml@mega-nerd.com> <200705300954.32784.jon@ffconsultancy.com> X-j-chkmail-Score: MSGID : 465DB863.000 on discorde : j-chkmail score : X : 0/20 1 0.000 -> 1 X-Miltered: at discorde with ID 465DB863.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; forks:01 marshalling:01 erlang:01 traversing:01 ocaml:01 ocaml:01 beginner's:01 bug:01 frog:98 heap:01 heap:01 unix:01 beginners:01 wrote:01 caml-list:01 > 1. Shared memory and locks should be much faster > for synchronization than marshalling between processes. as long as i don't have to use ugly locks in my code, that will be ok. But I think that the Erlang approach is simpler and more elegant than the use of locks - critical regions. Also, as already mentioned, it offers an easy transition from multicore to distributed computing, where shared memory isn't available. 2007/5/30, Jon Harrop : > On Wednesday 30 May 2007 09:13:00 Erik de Castro Lopo wrote: > > How much does a concurrent GC actually buy in comparison to > > multiple processes each with their own GC and a robust way > > of passing data between processes? > > > 2. Forking results in multiple GCs redundantly traversing the same heap and, > worst case, it may end up copying the entire heap in the child process in > order to deallocate it. > > -- > Dr Jon D Harrop, Flying Frog Consultancy Ltd. > OCaml for Scientists > http://www.ffconsultancy.com/products/ocaml_for_scientists/?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 > -- Pablo Polvorin