Fredrik Olofsson
2014-10-09 17:49:20 UTC
dear developers,
the code below is a stripped down version of a bigger piece of code.
on the same machine (macbook pro, 2.2ghz, 10.9.5), the new 3.7a0 version produces quite different results.
it takes ~30% on sc37a0
and only ~13% on sc366 and on sc357
first i though i did something silly building sc37a0 myself, but now with Scott's incremental builds (wow, many thanks) i see the same issue.
(
var buffersize= 2048;
var buffersize2= buffersize.div(2);
Routine.run{
var bus;
s.bootSync;
bus= Bus.control(s, buffersize2);
CmdPeriod.doOnce({bus.free});
SynthDef(\avTrk, {|bus|
var chain= FFT(LocalBuf(buffersize), SinOsc.ar);
Array.fill(buffersize2, {|i|
var dem= Demand.kr(chain>=0, 0, Unpack1FFT(chain, buffersize, i));
Out.kr(bus+i, dem);
});
}).load;
s.sync;
"starting".postln;
Synth(\avTrk, [\bus, bus]);
};
)
any ideas? is this expected behavior?
i ruled out Unpack1FFT but now suspect FFT.
_f
#|
fredrikolofsson.com musicalfieldsforever.com
|#
the code below is a stripped down version of a bigger piece of code.
on the same machine (macbook pro, 2.2ghz, 10.9.5), the new 3.7a0 version produces quite different results.
it takes ~30% on sc37a0
and only ~13% on sc366 and on sc357
first i though i did something silly building sc37a0 myself, but now with Scott's incremental builds (wow, many thanks) i see the same issue.
(
var buffersize= 2048;
var buffersize2= buffersize.div(2);
Routine.run{
var bus;
s.bootSync;
bus= Bus.control(s, buffersize2);
CmdPeriod.doOnce({bus.free});
SynthDef(\avTrk, {|bus|
var chain= FFT(LocalBuf(buffersize), SinOsc.ar);
Array.fill(buffersize2, {|i|
var dem= Demand.kr(chain>=0, 0, Unpack1FFT(chain, buffersize, i));
Out.kr(bus+i, dem);
});
}).load;
s.sync;
"starting".postln;
Synth(\avTrk, [\bus, bus]);
};
)
any ideas? is this expected behavior?
i ruled out Unpack1FFT but now suspect FFT.
_f
#|
fredrikolofsson.com musicalfieldsforever.com
|#