Real-time Music Synthesis in Java - bomers.de
Real-time Music Synthesis in Java - bomers.de
Real-time Music Synthesis in Java - bomers.de
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
8<br />
<strong>Real</strong>-<strong>time</strong> <strong>Music</strong> <strong>Synthesis</strong> <strong>in</strong> <strong>Java</strong> us<strong>in</strong>g the Metronome Garbage Collector<br />
<strong>Java</strong> for <strong>Real</strong>-<strong>time</strong>: Current Practice<br />
Avoid allocation after setup<br />
• Low-level programm<strong>in</strong>g, vulnerable to allocation by libraries<br />
Allocate from object pools<br />
• Only works for homogeneous objects, suffers from “free” bugs<br />
Use Scoped memory constructs of RTSJ<br />
• Manual, suffers from unpredictable run-<strong>time</strong> exceptions<br />
Use a generational collector<br />
• Puts off the <strong>in</strong>evitable, slow when survival rate is high<br />
Use an <strong>in</strong>cremental collector<br />
• Often works but subject to numerous failure mo<strong>de</strong>s<br />
Use reference count<strong>in</strong>g (automatic or manual)<br />
• Does not collect cycles (at least not predictably)<br />
Bacon/Bomers ICMC’07 - Copenhagen 30 August 2007