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=2.1 required=5.0 tests=AWL,DNS_FROM_RFC_ABUSE, DNS_FROM_RFC_POST,DNS_FROM_RFC_WHOIS autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id D4F25BC69 for ; Tue, 3 Jul 2007 03:42:59 +0200 (CEST) Received: from web30502.mail.mud.yahoo.com (web30502.mail.mud.yahoo.com [68.142.200.115]) by concorde.inria.fr (8.13.6/8.13.6) with SMTP id l631gwVX030017 for ; Tue, 3 Jul 2007 03:42:59 +0200 Received: (qmail 65916 invoked by uid 60001); 3 Jul 2007 01:42:58 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.com; h=X-YMail-OSG:Received:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Message-ID; b=KAwt6021+j3qDCiObM4BVAtR7t7O5bAz04uuwZMk7sd3V5x82/t3CcN1xZ2xj4J3FAUKfWfiI4kqyKeMheWIU+T8fC/1I66zv56iR3vU4vMGSldX7d1bwWdL6jTfygUdrE8phmBYh4IwCsEwH+3cILlEYXBevY0pUHCrops1DCU=; X-YMail-OSG: rnKJeHAVM1n.mMH4nNuttCDy_RhsEWWqQOnq0L1_Xmr.H8F_blCY_2Dog1XJmDRdBb64eoqkksAqmU3r3rAh2OjyYg2iNfyQB2CHuL5ORgHv6Wb6Z_z1.tZ8pG60zg-- Received: from [141.212.108.229] by web30502.mail.mud.yahoo.com via HTTP; Mon, 02 Jul 2007 18:42:57 PDT Date: Mon, 2 Jul 2007 18:42:57 -0700 (PDT) From: David Thomas Subject: Re: [Caml-list] Fork-friendly GC To: caml-list@inria.fr In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Message-ID: <110525.65902.qm@web30502.mail.mud.yahoo.com> X-Miltered: at concorde with ID 4689A9A2.002 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; heap:01 garbage:01 caml-list:01 objects:02 objects:02 incomplete:03 seems:03 seems:03 perhaps:04 photos:94 shared:06 allocate:06 written:07 mean:08 memory:09 It seems to me that an incomplete but simple solution is to stop garbage collection on the shared heaps, and allocate new objects on fresh pages, unique to each process. This does, of course, mean that some objects which should be freed don't get freed, but this seems a price worth paying - we're only wasting some of the memory instead of all of the memory, and we're not taking nearly as much time. Perhaps it's even possible to detect when we've written to one of these pages, and re-add them to the heap when the OS has already copied them for us, but that's getting more complicated than necessary for a first pass... ____________________________________________________________________________________ Take the Internet to Go: Yahoo!Go puts the Internet in your pocket: mail, news, photos & more. http://mobile.yahoo.com/go?refer=1GNXIC