At the risk of sounding like the old codger who says "back when I was a kid, I walked sixteen miles in the snow barefoot to school every day..." ... On 22 Jul 2009, at 01:03, Hans Aberg wrote:
On 22 Jul 2009, at 00:06, Tom Lieber wrote:
<snip>...GC delays.
Concurrent GC would be nice, but making the VM multi-threaded is not the only way to synthesize sounds faster.
<snip> The problem is not getting the GC fast enough, but they tend to do collecting at a specific time, when the whole program sort of halts.
Once upon a time, I worked at a company called Lucid. We made Common Lisp Compilers. Prior to Lucid, most Lisp systems would grind to a halt whenever a GC took place. One of the major contributions made by Patrick Solbavarro was an ephemeral garbage collector for general- purpose computers[*]: every time you allocated some memory, it did a little bit of reclamation. Moral of the story: Ephemeral GCs techniques are mature, widely understood and are exactly what's needed in a real-time environment. - Rob [*] Soba88 Sobalvarro, Patrick G., "A lifetime-based garbage collector for LISP systems on general-purpose computers," B.S. thesis, MIT EECS Dept. 1988.