This is the mail archive of the guile@sources.redhat.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: boehm & guile, success report.


mlivshin@bigfoot.com writes:
> > most home-brew GC's aren't as sophisticated as Boehm's. Perhaps
> > GUILE's is.
> 
> for Scheme, yes.  it may be that the Boehm GC is more efficient in
> what it does (in some areas, certainly), but the Guile GC simply has
> to do much less, as it's mostly precise.  but let's see where you get
> with tuning BGC and making it not just scan everything.

I don't quite understand. Isn't BGC also mostly precise if you mark
strings & floats as being atomic?  (Assuming that most memory is in
the form of Scheme data, and not auxiliary data structs).

The bad news: i looked some more, and I can't find any tuning, except
for allocing atomic and stubborn (permanent) objects.

And there is a ratio specifier..that sets the ratio between wasting CPU 
and wasting memory, meaning that my previous benchmarks are worthless
(sigh.)

BTW,  I am going to do some real work now, so if you people in other
timezones feel challenged by Boehm GC , go ahead.

> > [going into separate discussion]
> > 
> > That does seem to make C-integration for normal applications hard ,
> > doesn't it?
> 
> not really harder than it's now.
> 
> now, if you don't want to go the `main'-capturing route, you *have* to
> know where the C stack begins.  but if the Scheme evaluator doesn't
> use the C stack, all you have to guarrantee is that your C procedures
> are called from Scheme

that means you can't call C-procs from C. I think that is a loss.

> -- the evaluator would keep notes of where the
> C stack frames begin.

BTW, I looked at Boehm briefly. It finds the stack using a big
#ifdef. For linux it simply is 0xc0000000

> also, it'll be hard to support the current API where you can setup an
> exception-catching context in C code.  no great loss, I think.

no, especially since you can set this catch up yourself when you need
it. (that's possible, isn't  it?)

-- 

Han-Wen Nienhuys   |   hanwen@cs.uu.nl    | http://www.cs.uu.nl/~hanwen/


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