unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: ludovic.courtes@laas.fr (Ludovic Courtès)
Cc: guile-devel@gnu.org
Subject: Re: Guile + Boehm GC: First Remarks
Date: Thu, 01 Jun 2006 11:42:09 +0200	[thread overview]
Message-ID: <8764jlus9a.fsf@laas.fr> (raw)
In-Reply-To: <66e540fe0606010150y3507de6el6f4cf0122f23ea6c@mail.gmail.com> (Mikael Djurfeldt's message of "Thu, 1 Jun 2006 10:50:13 +0200")

Hi,

"Mikael Djurfeldt" <mikael@djurfeldt.com> 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


  reply	other threads:[~2006-06-01  9:42 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-31  8:49 Guile + Boehm GC: First Remarks Ludovic Courtès
2006-05-31 20:11 ` Neil Jerram
2006-06-01  1:17   ` Han-Wen Nienhuys
2006-06-01  7:22     ` Ludovic Courtès
2006-06-01  7:35       ` Mikael Djurfeldt
2006-06-01  8:28         ` Ludovic Courtès
2006-06-01  8:50           ` Mikael Djurfeldt
2006-06-01  9:42             ` Ludovic Courtès [this message]
2006-06-01 12:04               ` Ludovic Courtès
2006-06-04 22:24         ` Han-Wen Nienhuys
2006-06-02  0:01     ` Neil Jerram
2006-06-02  8:06       ` Mikael Djurfeldt
2006-06-01  7:55   ` Ludovic Courtès
2006-06-02  0:07     ` Neil Jerram
2006-06-02 12:41       ` Ludovic Courtès
2006-10-15  0:04         ` Han-Wen Nienhuys
2006-10-16  7:46           ` Ludovic Courtès
2006-10-18 11:21             ` Han-Wen Nienhuys
2006-10-19 14:25               ` Ludovic Courtès
2006-10-25 18:47                 ` Neil Jerram
2006-10-18 11:34             ` Han-Wen Nienhuys
2006-10-19 14:28               ` Ludovic Courtès
2006-10-18 14:42             ` Han-Wen Nienhuys
2006-11-26 18:48               ` Ludovic Courtès
2006-10-18 14:59             ` Han-Wen Nienhuys
2006-10-18 15:42             ` Han-Wen Nienhuys
2006-10-18 16:10             ` Han-Wen Nienhuys
2006-10-18 16:53             ` Han-Wen Nienhuys
2006-06-01  1:10 ` Han-Wen Nienhuys
2006-06-01  8:09   ` Ludovic Courtès
2006-06-18 18:00 ` Clinton Ebadi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8764jlus9a.fsf@laas.fr \
    --to=ludovic.courtes@laas.fr \
    --cc=guile-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).