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.0 required=5.0 tests=AWL 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 3EBE8BC69 for ; Wed, 30 May 2007 11:00:10 +0200 (CEST) Received: from ptb-relay01.plus.net (ptb-relay01.plus.net [212.159.14.212]) by discorde.inria.fr (8.13.6/8.13.6) with ESMTP id l4U909Z4005984 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=NO) for ; Wed, 30 May 2007 11:00:10 +0200 Received: from [80.229.56.224] (helo=beast.local) by ptb-relay01.plus.net with esmtp (Exim) id 1HtK2J-00035F-J4 for caml-list@yquem.inria.fr; Wed, 30 May 2007 10:00:09 +0100 From: Jon Harrop Organization: Flying Frog Consultancy Ltd. To: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Faking concurrency using Unix forks and pipes Date: Wed, 30 May 2007 09:54:32 +0100 User-Agent: KMail/1.9.7 References: <200705300442.59906.jon@ffconsultancy.com> <200705300902.06760.jon@ffconsultancy.com> <20070530181300.d4179bca.mle+ocaml@mega-nerd.com> In-Reply-To: <20070530181300.d4179bca.mle+ocaml@mega-nerd.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200705300954.32784.jon@ffconsultancy.com> X-Miltered: at discorde with ID 465D3D19.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; forks:01 marshalling:01 traversing:01 ocaml:01 ocaml:01 frog:98 heap:01 heap:01 unix:01 wrote:01 caml-list:01 gcs:01 data:02 concurrency:02 deallocate:03 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? 1. Shared memory and locks should be much faster for synchronization than marshalling 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