This is the mail archive of the guile@sourceware.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: generational GC



> > We also should try to make less work for the GC, by avoiding consing
> > > up local environments until they're closed over.
> > 
> > Yes.  Probably not necessary to mention, but this is what SCM's
> > environment cache does.
> 
> How much work would it be to port that code to Guile? If it saved us a
> lot of the GC time cost on startup it would be a great help.

The only sensible solution would be to throw the current evaluator
away and use Aubrey's current code instead.  What you loose?  At least
the multi threading capabilities and the debugging evaluator.

No, I think the consing in the evaluator isn't a big problem.
Aubrey's ecache *is* a little bit faster and his new evaluator is also
cleaner than what we have now (not to mention that it fixes hundreds
of bugs e.g. `(let ((a 1) (a 2)) a)').  

However it doesn't address other problems that the evaluator design
has, for example the memoization and unmemoization of macros.


Jost

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