unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: Andy Wingo <wingo@pobox.com>
To: Andreas Rottmann <a.rottmann@gmx.at>
Cc: "Ludovic Courtès" <ludo@gnu.org>, guile-devel@gnu.org
Subject: Re: BDW-GC branch updated
Date: Sat, 05 Sep 2009 19:22:24 +0200	[thread overview]
Message-ID: <m3r5uli9wv.fsf@pobox.com> (raw)
In-Reply-To: <87r5v9s4av.fsf@delenn.lan> (Andreas Rottmann's message of "Tue,  18 Aug 2009 14:19:04 +0200")

Hi Andreas,

On Tue 18 Aug 2009 14:19, Andreas Rottmann <a.rottmann@gmx.at> 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/




      parent reply	other threads:[~2009-09-05 17:22 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-08-18 11:54 BDW-GC branch updated Ludovic Courtès
2009-08-18 12:19 ` Andreas Rottmann
2009-08-18 13:18   ` Ludovic Courtès
2009-09-04 17:15     ` Andreas Rottmann
2009-09-04 18:28       ` dsmich
2009-09-05 14:45       ` Ludovic Courtès
2009-09-10 20:09     ` Neil Jerram
2009-09-10 21:33       ` Ludovic Courtès
2009-09-16  1:11         ` Andreas Rottmann
2009-09-17 17:45           ` Neil Jerram
2009-09-05 17:22   ` Andy Wingo [this message]

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=m3r5uli9wv.fsf@pobox.com \
    --to=wingo@pobox.com \
    --cc=a.rottmann@gmx.at \
    --cc=guile-devel@gnu.org \
    --cc=ludo@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).