On Apr 19, 2007, at 10:18 AM, Tim Blechmann wrote: > hi miller, > > On Wed, 2007-04-18 at 18:13 -0700, Miller Puckette wrote: >> Well, I measured the difference and didn't see significant speedup >> (on an >> imac recently)... eventually it might make a difference, of >> course. But >> certain bit-bashing code (the square root thing, but more importantly >> phasor~ and osc~) runs half again faster than any version I've >> been able >> to write with strict aliasing. > > i did some benchmarks of pd's phasor~ code against a straight-forward > implementation on my pentium-m, when implementing the objects for > nova. > the straight-forward implementation ran about 20 to 30 % faster > than the > pd-style implementation.
Do you still have the code from the straight forward implementation? > code like sqare root or inverse square root can be coded by just > utilizing the rsqrtps and sqrtps opcodes, with a 14 bit precision, > when > working on the sse unit ... 14bit precision would leave a lot to be desired in Pd. Are there high precision operators? >> An alternative would be to special-case the offending code >> somehow. This >> could be part of a larger effort to make the DSP code modular so >> that SSE >> instructions and whatnot could also be "plugged in". Worth >> thinking about... > > according to the gcc manual, simple vectorizable operactions, that's > used for audio processing, can be autovectorized, if (and only if) the > programmer takes care of both alignment and aliasing issues ... Is complying with -fstrict-aliasing enough to take care of the aliasing issues? Do you have any examples of handling alignment issues? .hc > > tim > > -- > [EMAIL PROTECTED] ICQ: 96771783 > http://tim.klingt.org > > Life is really simple, but we insist on making it complicated. > Confucius ------------------------------------------------------------------------ ---- There is no way to peace, peace is the way. -A.J. Muste _______________________________________________ PD-dev mailing list [email protected] http://lists.puredata.info/listinfo/pd-dev
