[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: a note on garbage collection
From: |
Ludovic Courtès |
Subject: |
Re: a note on garbage collection |
Date: |
Thu, 24 Sep 2009 00:37:51 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux) |
Hello,
"Nelson H. F. Beebe" <address@hidden> writes:
> There is newly-published paper that suggests there may be a better
> alternative:
>
> Precise Garbage Collection for C
> Jon Rafkind, Adam Wick, John Regehr & Matthew Flatt
> http://www.cs.utah.edu/~regehr/papers/ismm15-rafkind.pdf
Thanks for the pointer! It looks like an interesting piece of work.
Magpie is a source-to-source transformation for C programs that
enables precise garbage collection, where precise means that integers
are not confused with pointers, and the liveness of a pointer is
apparent at the source level.
This is a relatively intrusive approach, as opposed to how Guile can be
embedded in C apps currently.
Besides, I’m always slightly dubious regarding the misidentified pointer
rhetoric, though.
In our experience, however, conservative GC works poorly for
long-running programs, such as a web server, a programming
environment, or an operating system kernel. For such programs,
conservative GC can trigger unbounded memory use due to linked lists
[Boehm 2002] that manage threads and continuations;
Apparently, there’s also less fatalistic experience with such
applications, e.g., Hop (http://hop.inria.fr/).
Also, [Boehm 2002] suggests ways to avoid the infamous unbounded
retention in the queue (linked-list based) example and others.
I guess the real test for us will be Guile-in-Emacs...
Thanks,
Ludo’.