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: First Remarks Date: Thu, 01 Jun 2006 11:42:09 +0200 Organization: LAAS-CNRS Message-ID: <8764jlus9a.fsf@laas.fr> References: <877j42r32u.fsf@laas.fr> <87irnmt0nk.fsf@ossau.uklinux.net> <87fyipcpbz.fsf@laas.fr> <66e540fe0606010035l7fb513fg646da4c1d94920de@mail.gmail.com> <87y7wh2sbz.fsf@laas.fr> <66e540fe0606010150y3507de6el6f4cf0122f23ea6c@mail.gmail.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1149154984 25253 80.91.229.2 (1 Jun 2006 09:43:04 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 1 Jun 2006 09:43:04 +0000 (UTC) Cc: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Thu Jun 01 11:42:53 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 1FljhR-0007HF-MA for guile-devel@m.gmane.org; Thu, 01 Jun 2006 11:42:41 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FljhQ-000102-2J for guile-devel@m.gmane.org; Thu, 01 Jun 2006 05:42:40 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1FljhL-0000zE-9x for guile-devel@gnu.org; Thu, 01 Jun 2006 05:42:35 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1FljhJ-0000yr-2u for guile-devel@gnu.org; Thu, 01 Jun 2006 05:42:34 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1FljhJ-0000yo-09 for guile-devel@gnu.org; Thu, 01 Jun 2006 05:42:33 -0400 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 1FljnW-0000p8-2U for guile-devel@gnu.org; Thu, 01 Jun 2006 05:48:58 -0400 Original-Received: by laas.laas.fr (8.13.6/8.13.4) with SMTP id k519gSO8019415; Thu, 1 Jun 2006 11:42:30 +0200 (CEST) Original-To: "Mikael Djurfeldt" X-URL: http://www.laas.fr/~lcourtes/ X-Revolutionary-Date: 13 Prairial 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: "Mikael Djurfeldt" , guile-devel@gnu.org In-Reply-To: <66e540fe0606010150y3507de6el6f4cf0122f23ea6c@mail.gmail.com> (Mikael Djurfeldt's message of "Thu, 1 Jun 2006 10:50:13 +0200") 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:5955 Archived-At: Hi, "Mikael Djurfeldt" writes: > Certainly. It's just that Guile has, to some extent, and with the > exception of a recent restructuring of the GC, had this tradition of > sacrificing performance for all kinds of "idealistic" goals with the > promise of increased future efficiency, getting more and more sluggish > all the time. (It was quite efficient originally.) I know, and that has been a real concern for me. Interestingly, porting Guile to BGC has been one of these "idealistic" goals for a number of years. :-) > If BGC holds the promise of efficiency, it might be nice to achieve > this before throwing out the current GC which is, btw, not > unreasonably unmaintainable or unportable. Note: this is an _experiment_, whose purpose is precisely to get a better understanding of the feasibility of the migration, of the gains from a user perspective, and of the performance implications. Personally, I'm inclined to move to GBGC, _if_ the performance overhead is acceptable, that is, if the maintainability and robustness gains overweight the performance cost. But (i) this is only my personal opinion, and (ii) I don't have serious performance results at this time. This clearly needs to be evaluated before we can consider BGC as an option. Also, when discussing performance, one has to keep in mind that it is very unlikely that anybody will ever improve the performance of Guile's GC (I did try, had to gave, and got motivated by BGC ;-)). On the contrary, GBGC is constantly being improved, and performance seems to be the main focus of Hans currently. BTW, I did not mean to be insulting about the current GC, but a GC written in C (be it Guile's or Boehm's) is _not_ something easily maintainable. > The only point I would like to make is that it is silly to care too > much of the amount of thinking which has gone into BGC and its broad > usage if, in fact, it doesn't add anything of real value to Guile. My feeling is that it does add value, but we need to weight the pros and cons. >> The fact that Bigloo uses BGC also tends to reassure >> me: if Guile can someday perform as bad as Bigloo compiled code (or >> simply, as bad as its interpreter), then I'll be very happy. ;-) > > But current sluggishness is not mainly due to the current GC. In > fact, for a scheme interpreter there might be advantages of using a > customized solution. One thing which would boost performance > tremendously would be to integrate Keisuke's guile-wm code, or > something a la QScheme. Exactly, that's the point I was trying to make. If, for instance, Bigloo's interpreter outperforms GBGC, then this means that there is room for optimization in Guile's interpreter. More generally, Guile-VM (or some other form of compilation) is the way to go if we want to noticeably improve performance. Thanks, Ludovic. _______________________________________________ Guile-devel mailing list Guile-devel@gnu.org http://lists.gnu.org/mailman/listinfo/guile-devel