Hallo, zmoelnig@iem.at hat gesagt: // zmoelnig@iem.at wrote:
Zitiere Phillip Stearns mindphone_divided@yahoo.com:
Thanks for the tip! So is general rule to avoid realtime expr~ objects if at all possible in the future?
i would have thought though some months ago, but matiu and tim taught me better.
[expr~] is a very useful and fast object (it is not slower than writing the maths in pd) (to know this would have saved me a _lot_ of patching in the past)
In this case of waveshaping it's definitly not the expr~ object, that's slow, but the evaluation of the formula, which is pre-processed in the tabread4~ case. tabread4~ is just doing something entirely different than expr~ does in this application.
BTW: You should be able to let expr~ do practically the same as tabread4~ by using the array-accessing lookup instructions available to all expr-objects like in:
[expr array100[$f1]]
Add to this a formula for 4-point polynomial interpolation as described in [1] and you can replace tabread4~ with expr-objects. And do the benchmark again! ;)
[1] Miller's book: http://www.crca.ucsd.edu/~msp/techniques/latest/book-html/node27.html
Frank Barknecht _ ______footils.org__