[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: garbage collection thoughts... again?!
- From: Thatcher Ulrich <tu@...>
- Date: Thu, 29 May 2003 16:54:30 -0400 (EDT)
On Thu, 29 May 2003 rlake@oxfam.org.pe wrote:
>
> It is certainly possible to design a memory which helps with garbage
> collection. It doesn't require much magic: the main thing is to have
> a bit which distinguishes pointers from other data; a nice addition
> is to be able to do writer barriers (or even read barriers, which are
> practical in hardware). Given a hardware write barrier and a little
> bit of smarts, you could do most of mark-sweep without touching the
> CPU; mass produced "smart memory" would not cost more than 10% more
> than existing memory, and possibly less.
>
> If you look at progress in video cards, and think about memory which
> would support garbage collection, you would probably rapidly realise
> that the only reason we don't have smart memory is that so many
> mainstream programmers rile up at the idea of garbage collection.
> Or in other words, if most programmers used garbage collection
> (with its consequent improvement on stability and resource consumption
> to say nothing of reduced buffer overflow errors and general program
> simplicity) then the market would be brimming with garbage collection
> hardware accelerators; we would have two or three competing "Open"
> standards on garbage collection acceleration, and there would be
> religious wars about whether Microsoft or GNU had the more open
> garbage collection standard.
>
> Unfortunately, that is not the world we live in. But it could be.
>
> How's that for a rant, Thatcher?
Very nice :)
I think the big difference between video cards and GC memory is that
there is a relatively easy 10x+ *overall* application performance gain
from using 3D rasterization hardware, while the overall app
performance gains from GC hardware would be 2x or less. I.e. even if
special GC memory made mem management totally free, most apps don't
spend 90+% of their time doing mem management. Whereas in the days
when we used software rendering in 3D games, we *did* spend 90+% of
our time pushing pixels.
-Thatcher