[chuck-users] GC vs real-time (was Getting Started with ChucK)
Robert Poor
rdpoor at gmail.com
Wed Jul 22 11:16:07 EDT 2009
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.
More information about the chuck-users
mailing list