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.
4<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 />
Why Not <strong>Real</strong>-<strong>time</strong> <strong>Java</strong>?<br />
Garbage Collection<br />
• Non-<strong>de</strong>term<strong>in</strong>istic pauses from 100 ms to 1 second<br />
• Requirement for real-<strong>time</strong> behavior is 100 us to 10 ms<br />
Dynamic (JIT) Compilation<br />
• Unpredictable <strong>in</strong>terruptions<br />
• Large variation <strong>in</strong> speed (10x)<br />
Dynamic Load<strong>in</strong>g and Resolution<br />
• Semantics <strong>de</strong>term<strong>in</strong>ed by run-<strong>time</strong> or<strong>de</strong>r<strong>in</strong>g<br />
Optimization technology optimizes average case<br />
• Th<strong>in</strong> locks, speculative <strong>in</strong>-l<strong>in</strong><strong>in</strong>g, value prediction, etc.<br />
• Some<strong>time</strong>s cause non-<strong>de</strong>term<strong>in</strong>istic slowdowns<br />
…<br />
Bacon/Bomers ICMC’07 - Copenhagen 30 August 2007