From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Andy Wingo Newsgroups: gmane.lisp.guile.devel Subject: Re: BDW-GC branch updated Date: Sat, 05 Sep 2009 19:22:24 +0200 Message-ID: References: <87vdkle3qr.fsf@gnu.org> <87r5v9s4av.fsf@delenn.lan> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1252171345 24780 80.91.229.12 (5 Sep 2009 17:22:25 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 5 Sep 2009 17:22:25 +0000 (UTC) Cc: Ludovic =?utf-8?Q?Court=C3=A8s?= , guile-devel@gnu.org To: Andreas Rottmann Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sat Sep 05 19:22:18 2009 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Mjyxt-00072S-UR for guile-devel@m.gmane.org; Sat, 05 Sep 2009 19:22:18 +0200 Original-Received: from localhost ([127.0.0.1]:42524 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mjyxs-0007TS-TG for guile-devel@m.gmane.org; Sat, 05 Sep 2009 13:22:16 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Mjyxp-0007Rh-Av for guile-devel@gnu.org; Sat, 05 Sep 2009 13:22:13 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Mjyxk-0007ON-Hu for guile-devel@gnu.org; Sat, 05 Sep 2009 13:22:12 -0400 Original-Received: from [199.232.76.173] (port=51094 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Mjyxk-0007OK-Ao for guile-devel@gnu.org; Sat, 05 Sep 2009 13:22:08 -0400 Original-Received: from a-pb-sasl-sd.pobox.com ([64.74.157.62]:49804 helo=sasl.smtp.pobox.com) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Mjyxd-0003eI-SK; Sat, 05 Sep 2009 13:22:02 -0400 Original-Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id A5D9245390; Sat, 5 Sep 2009 13:22:00 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=YfrPrT1Dio9k76bBDT7ufBWBE9s=; b=DaZ/te I5nIBm0yFqTk/HPsOEXzMnoOd5s3R6YtcSy98sufGzREFh3YC/xdqqttfJg20fkO yr86r/5SiutsF9FN5d3rhCb30iecXDzblBZvcFNco5GROMQFiL6z8G9twXq+AUNF W10tDO8HjM7l6a+zb7U6WNI3KCQmyj+puWlTU= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=sasl; b=APxnRk/PkbamlcvLoVyeUiy21W09rRoH hICMBBhGw87rR4dkUQ20TVmB4kzXjFLlY5zQ6WNLi6dFukwjJVUto/mT71BjZa0l GPNKkBasOItHplmz11Y77jE6zwbH4ICcbdlOGY6NoTj6r1LrbrD7HEkKuJnPLOr6 pAyJSwideU4= Original-Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 880814538F; Sat, 5 Sep 2009 13:21:58 -0400 (EDT) Original-Received: from unquote (unknown [81.38.191.148]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id 41C2C4538C; Sat, 5 Sep 2009 13:21:54 -0400 (EDT) In-Reply-To: <87r5v9s4av.fsf@delenn.lan> (Andreas Rottmann's message of "Tue, 18 Aug 2009 14:19:04 +0200") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.92 (gnu/linux) X-Pobox-Relay-ID: 9DE2178A-9A40-11DE-9FE6-8B19076EA04E-02397024!a-pb-sasl-sd.pobox.com X-detected-operating-system: by monty-python.gnu.org: Solaris 10 (beta) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:9267 Archived-At: Hi Andreas, On Tue 18 Aug 2009 14:19, Andreas Rottmann writes: > Will going from a precise GC to BDW-GC not have drawbacks? IIRC, the PLT > people went in the opposite direction. A quick google turned up this: > > http://www.cs.brown.edu/pipermail/plt-scheme/2006-June/013840.html > > I wonder if the reasons for switching to a precise GC listed in there > will also apply to Guile. I'm sure they do. So, as you're probably aware, Guile's GC right now is something of a hybrid. It conservatively scans the stack, but precisely marks the heap. BDW scans the heap with less precision. Of course there are pointerless blocks and custom mark functions in BDW as well. I was concerned about this issue myself. Of course a moving GC is a better option in the long run. But it seems an impossible change to make, given Guile's long and public history as a C library. BDW-GC is simply a better conservative GC than Guile's current conservative GC. But to take a specific example: I don't want Guile to be the project that broke Emacs. Emacs has a precise GC, though not a moving GC iirc, and if conservative collection broke long-running emacs sessions, that would be Bad. But we shouldn't have any problem with Emacs. There will be almost nothing on the C stack for any length of time. We control all of the heap as well. We have pointerless mark functions in place where necessary. Only tagged values make it onto the VM stack. So it is highly unlikely to ever hit those corner cases PLT seemed to hit all the time. Anyway, need to head out. Your concerns are important ones. My opinion is that BDW-GC sounds like the right choice for the next 10 years of Guile. Andy -- http://wingolog.org/