From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludovic.courtes@laas.fr (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: Guile + Boehm GC Date: Tue, 21 Mar 2006 18:23:15 +0100 Organization: LAAS-CNRS Message-ID: <87r74vd858.fsf@laas.fr> References: <87hd5rgafd.fsf@laas.fr> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1142961860 32042 80.91.229.2 (21 Mar 2006 17:24:20 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Tue, 21 Mar 2006 17:24:20 +0000 (UTC) Cc: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Tue Mar 21 18:24:18 2006 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1FLka3-0002z5-GS for guile-devel@m.gmane.org; Tue, 21 Mar 2006 18:23:39 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FLkaB-0005t9-NI for guile-devel@m.gmane.org; Tue, 21 Mar 2006 12:23:47 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FLka7-0005rI-Pd for guile-devel@gnu.org; Tue, 21 Mar 2006 12:23:43 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FLka5-0005o2-RU for guile-devel@gnu.org; Tue, 21 Mar 2006 12:23:43 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FLka5-0005no-OT for guile-devel@gnu.org; Tue, 21 Mar 2006 12:23:41 -0500 Original-Received: from [140.93.0.15] (helo=laas.laas.fr) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA:32) (Exim 4.52) id 1FLka8-0007mo-4g for guile-devel@gnu.org; Tue, 21 Mar 2006 12:23:44 -0500 Original-Received: by laas.laas.fr (8.13.1/8.13.4) with SMTP id k2LHNS0O029871; Tue, 21 Mar 2006 18:23:30 +0100 (CET) Original-To: hanwen@lilypond.org X-URL: http://www.laas.fr/~lcourtes/ X-Revolutionary-Date: 1 Germinal an 214 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEB1F5364 X-PGP-Key: http://www.laas.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 821D 815D 902A 7EAB 5CEE D120 7FBA 3D4F EB1F 5364 X-OS: powerpc-unknown-linux-gnu Mail-Followup-To: hanwen@lilypond.org, guile-devel@gnu.org In-Reply-To: (Han-Wen Nienhuys's message of "Tue, 21 Mar 2006 15:29:39 +0000 (UTC)") User-Agent: Gnus/5.110004 (No Gnus v0.4) Emacs/21.4 (gnu/linux) X-Spam-Score: 0 () X-Scanned-By: MIMEDefang at CNRS-LAAS 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:5799 Archived-At: Hi Han-Wen, lilydev@muurbloem.xs4all.nl (Han-Wen Nienhuys) writes: > it's here, > > http://www.xs4all.nl/~hanwen/public/guile/guile-boehm.gz > > note that this is a patch for the "old" GC code, before I took a stab > at rewriting. The good news is that it looks quite simple! The main changes are located here (diffstat): libguile/gc.c | 854 +----------------------------------------- libguile/gc.h | 57 -- However, it looks like you didn't look at weak hash tables back then. My impression is that porting them would be the most difficult task. > It was a quick hack, and performance was a little worse, but I think > it could be just as performant as GGC. Note that many interpreters > (eg. MzScheme) use BGC by default. Also, measuring performance of GC > is hard, since there is a space/time tradeoff, so you should really > measure the tradeoff, something I haven't done. Yes. But GGC's performance is terrible IMO (see my posts a few months ago), and also GGC is used only within Guile. So I'm confident that BGC may work better, and even if it doesn't, chances are that it may improve over time given the number of users it has had. > I think it would be good to move to BGC. BGC is used by many other > interpreters, and receives more attention wrt performance and > bugfixing than GGC. Dropping code is almost always good Agreed. > BTW, I ran across Judy trees today, > > http://judy.sourceforge.net/ > > would it be worthwhile to try replacing resizing hash tables in Guile > with Judy trees? I expect that it would incur a significant speedup. I was not aware of this project but I'm not so sure it would have a significant impact. Currently, Guile spends a huge amount of time managing memory and improving this should be priority #1 I think. Thanks, Ludovic. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel