[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: "No aliasing = no garbage collection"

At 13:30 22/09/00 +0100, you wrote:
} In my opinion, garbage collection is an efficiency mechanism.
} Conclusion (assuming I remembered correctly that the proof can be done):
}   if you are not bothered with performance, use a garbage collector,
}   and save on memory budget, use virtual memory as well.
}   if you are bothered with performance, buy twice as much memory, and
}   do not use a garbage collector, nor virtual memory.  Simply, use
}   enough memory.
Yes, I agree...

The temptation to attach every bell and whistle is a strong one.
But that problem becomes an opportunity when you remember that
implies that the niche of clean, understandable simplicity is
almost unoccupied.

I am slightly worried by this view. The experience of many ARM customers, working in the embedded space, is that memory is definitely not cheap. The reasons are:

1. What memory you have must be on-chip with the processor, which mostly limits it to small quantities of SRAM and slightly larger quantities of ROM or EPROM.

2. The cost of many consumer items is a multiple of the manufacturing cost. That is, if it costs $5 to build, it costs $50 at the retailer (and that is perhaps understating the multiple). Consequently, adding a $10 DRAM to a design is not an option -- it would add $100 to the selling price.

3. Items like mobile phones typically have huge memory requirements -- 3-5MB ROMS is not unusual, and RAM is also needed in large quantity. And yet if you look inside these devices you find only a couple of chips. Doubling the physical space required for memory is not possible -- it doesn't fit.

I believe there should be a garbage collection scheme added to occam. It is a great language for many things, but it is let down in areas which people care about intensely.