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: guile-gc 0.15 released


wMichael Livshin <mlivshin@bigfoot.com> writes:

> Greg.Harvey+guile-gc@thezone.net writes:
> 
> > * Two cell heaps; ok, they've been around for a while, but now there's
> >   actually objects that use them, thanks to Michael Livshin
> >   :). configure with --enable-gc-two-cell-heaps to have these objects
> >   added. Currently you don't really want this unless you use goops or
> >   a lot of double math (or dynamic linking); if not, the number of
> >   objects actually in the new heap is pretty pathetic.
> 
> to clear an apparent misunderstanding: Goops doesn't use any two cell
> objects yet.  but the "a lot of double math" thing is not a bad reason
> anyway.

I would've thought that it would use procedures with setters fairly
often, though (should really look at it instead of assuming, I guess
;).

> >   Note that this
> >   doesn't include the three cell heap changes he made (I'm not
> >   convinced it's worth it, to be honest).
> 
> me neither, to be equally honest.  what I thought about recently is a
> generalization of heap cell allocation, to have a way to allocate any
> <power-of-two>-cell objects.  but this is very close to what a
> reasonable malloc implementation does for you, so it probably isn't
> worth much as an allocation speed optimization.  

The biggest argument against this being that you end up allocating way
too much. I'm going to put in some separate options for two cell heap
sizes (in case there's a flurry of double activity, then nada, you
don't end up with a big, nearly empty heap; this would be a bigger
deal with something like scwm where you really need to go with large
heap segments, and is somewhat worse with my gc patch, since it
doesn't free heap segments). All I changed for complex numbers was to
make the scm_dbl struct have a pointer to the imaginary part in the
cdr, then the immediate real part. It's some boost, anyway, and
without requiring another full heap.

> I guess I'll go
> entertain my cat instead.

They're much happier if you confuse them ;)

-- 
Greg: Look Tiger! An Aardvark!
Tiger: Mrow? <lick>
Greg: Don't lick that thing at me!
Tiger: <lick lick lick lick>
Greg: Gross

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