[PD-dev] double precision Pd: .patch files, tests and benchmarks

katja katjavetter at gmail.com
Tue Oct 4 00:56:05 CEST 2011


On Mon, Oct 3, 2011 at 7:08 PM, katja <katjavetter at gmail.com> wrote:
> On Mon, Oct 3, 2011 at 6:21 PM, IOhannes m zmoelnig <zmoelnig at iem.at> wrote:
>
>> apropos performance:
>> on my i5 650 @ 3.2GHz, running debian
>> and trying to osc-delay-perfotest.pd (with only 400 osc-delay
>> abstractions, as 500 would max out the CPU in "new double" mode) i get:
>> original  : 28%
>> debian    : 31%
>> new single: 64%
>> new double: 86%
>
> Did you build new single / new double without any optimization?
> Makefile.am/in for Pd-0.43.1-test4 do not specify optimization. I
> compared using -O2 for all builds, like it is set for Pd-0.43-0.
>
> Katja
>

Update:

The rewritten code is more sensitive to optimization than the
original. On coreduo 1.83 GHz with Debian I could only run 200
osc-delay abstractions in osc-delay-perfotest.pd under worst
conditions. Compare these values from command top:

original:       69% with -O0,   47% with -O2   (no SSE)
new-single:  83% with -O0,   48% with -O2   (no SSE)
new-double: 97% with -O0,   59% with -O2   (no SSE)

On MacBook core2duo 2GHz where I wrote and optimized most, 500
osc-delay abstractions can easily run in osc-delay-perfotest.pd, with
these values from top:

original:       60% with -O3 and SSE
new-single:  50% with -O3 and SSE
new-double: 54% with -O3 and SSE

I knew on beforehand that the code would get tuned (performance-wise)
to hardware, instruction set, OS, compiler, compiler options etc. used
for development, but it never crossed my mind to check performance
with optimization level -O0.


Katja



More information about the Pd-dev mailing list