[Pkg-gauche-devel] [Gauche-devel] Gauche and bundled GC - still needed?

Shiro Kawai shiro at lava.net
Mon Nov 5 03:47:58 UTC 2012


From: Michel Alexandre Salim <salimma at fedoraproject.org>
Subject: Re: [Gauche-devel] Gauche and bundled GC - still needed?
Date: Mon, 05 Nov 2012 10:03:04 +0700

> Bigloo already works in this way; we've been linking it against the
> system GC in Fedora for years without any problem. So I'm kind of
> curious as to how they circumvent the need to use DONT_ADD_BYTE_AT_END.

It is a trade-off about performance.  Basically, DONT_ADD_BYTE_AT_END
enables optimizations particulary effective in lisp-family languages.
If you decide to give it up, you can use standard gc.

However, DONT_ADD_BYTE_AT_END is a switch officially provided by
bdwgc, and Gauche has been taking advantage of it for years, and
there are some code that relies on the memory layout with
DONT_ADD_BYTE_AT_END enabled.  That's why it's not straightforward
for Gauche to turn off the switch.

I personally believe "one GC fits all" is a wrong assumption, and
ultimately it is desirable to allow each application to have its
own specialized GC.  However, in the age of interoperability I
understand the demand to share a single library.  I'm going to
try the idea I described in another email to enable Gauche to
use system's gc without sacrificing the performance.

--shiro





More information about the Pkg-gauche-devel mailing list