Thanks, Nick. I’m actually getting really good results from [js] right now—turnaround times in microseconds. Will persist and post here if I see any major performance problems.
FWIW, I also tried making a system to schedule arbitrary messages at specific times in the future with patcher scripting, by creating instances of a patcher that used [timepoint] and [pv], then removed itself with [thispatcher]. This system is way too slow for my purposes, though—several milliseconds in either [js] or [mxj jruby], mainly caused by presence of [thispatcher]. I’ll revert to my original system, which involves a single event loop feeding upcoming events through a single [timepoint] + [pv] combo.