[gclist] gc interface
Francois-Rene Rideau
rideau@ens.fr
Sat, 23 Mar 1996 04:00:26 +0100 (MET)
Re: meta-gc, plug compatible gc's, etc.
> Here's a somewhat different opinion on the issue:
>
> [Null GC as the simplest case]
Surely, a meta-GC could formalize GC's
according to their common identical semantics,
and to their "performance constraints",
such as speed, code and data memory consumption, etc.
> [Danger of bugs that spread with combining GC submodules]
That's precisely why I envision a generic meta-GC only as developped
with formal methods that ensure that everything works as specified.
> [Incompatibilities of interface between GCs]
Well, surely some hassle is involved, which could be mostly automated,
in writing low-level code that matches any of many GCs,
GC control being the least of incompatibility problems.
But you can't have what you don't give, either.
> - Things get much worse if you allow multiple gc's for different program
> modules.
Again, formal methods may prove necessary.
> Doing this safely, in such a way that you can handle cross module
> cycles without performance anomalies is hard.
I believe you, though with no experience.
> The only measured performance
> improvements I've seen are from systems that sacrifice safety.
Then I'm not sure these are "improvements".
> As far as I cans tell it gets considerably harder
> still if you expect to be able to recover from
> running out of memory, at least most of the time.
I seemingly didn't understand how catastrophic it could be
to run out of memory!
> I've seen no reasonable
> solution to that problem.
> (Even writing mark procedures for our collector is
> more of a black art than I would like.
> Some of that has to do with the next
> point.)
As for running out of memory,
I seemingly didn't understand how catastrophic it could be.
It seems to me that depending on the language, environement, etc,
an exception/roll-back mechanism, could handle all situations calmly.
> - We all prefer to discuss interesting algorithms rather than ugly
> bit-twiddling. But a lot of the performance of a collector, at least in my
> experience, depends on low level implementation details, and constant factors
> in the implementation. Such considerations often outweigh higher level
> algorithmic considerations. It's harder to get these simultaneously right for
> a number of interacting implementations.
This is why I said that
the high-level formal language needs to express low-level constraints,
and why no available formal language seems possible to use.
-- , , _ v ~ ^ --
-- Fare -- rideau@clipper.ens.fr -- Francois-Rene Rideau -- +)ang-Vu Ban --
-- ' / . --
Join the TUNES project for a computing system based on computing freedom !
TUNES is a Useful, Not Expedient System
WWW page at URL: "http://www.eleves.ens.fr:8080/home/rideau/Tunes/"