This is the mail archive of the guile@cygnus.com mailing list for the guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: garbage collectors



Jens-Ulrik Holger Petersen <petersen@kurims.kyoto-u.ac.jp> wrote:
> There has been another small discussion on the xemacs-beta list about
> Garbage Collection in a future Scheme-based (X)Emacs....
>
> A worrying critism, I have heard against Guile, is that it's
> Conservative Garbage Collector is not suitable for "big applications"
> like (X)Emacs, since it is thought that Conservative GC is not "safe"
> under C.  It was rumoured that after some hours of intensive usage of
> emacs, memory usage would start to bloat considerably, making it hard
> to keep an (X)Emacs running for long periods.
>
> I would very much like to hear the Guile Developers' responses to this
> critism.

I am not a Guile developer, but I do not think this is a serious
problem. The way conservative GC works in Guile, the number of garbage
objects that will fail to be collected is limited by the size of the C
stack. Assuming the C stack does not grow without bound (if it does,
you have more serious problems), then there will be, to first
approximation, only a fixed memory overhead. And the only objects that
are likely to be protected forever when they should be collected are
those that are aliased by the fixed portion of the C stack,
i.e. whatever stack you build up before you go into your event
dispatch loop. This is likely to be fairly small.

 - Maciej Stachowiak