On Thu, Oct 9, 2008 at 5:04 PM, Kassen
Dear list,
In this forum topic
ah! worlds are colliding!
Aside from this question there is the matter of how long a operation takes in a "strongly timed" language. In the past I have -unsuccessfully- tried to benchmark different versions of a operation using "now". We have a lot of ways of dealing with time, there are probably few languages that deal with time in as much detail as ChucK does but we have no way at all of dealing with time as registered by the clock next to the programmer.
ChucK could probably use the equivalent of Pd's "realtime" object. I suggest calling it "nowreally"!
There is a paradox here; I'd like to be able to advance time by exactly as much time as was taken (by the cpu) since the last advancing of time; the problem with that is that determining this might itself take quite a few CPU cycles while this is the sort of operation we would use when trying to do things as quickly as possible. Another question is that we can't yield to the UGen graph if need be. A loop of just repeated yielding will stop the Ugen calculations.
This is because if all other shreds have tried to advance time but one shred is just yielding and not advancing time, ChucK VM will just keep running that same shred until it decides time can keep moving. I can't really parse the first sentence in this paragraph though. :-)