Hello, "Nelson H. F. Beebe" <be...@math.utah.edu> 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’.