[PD-dev] double precision Pd: .patch files, tests and benchmarks
Hans-Christoph Steiner
hans at at.or.at
Tue Oct 4 01:33:27 CEST 2011
On Tue, 2011-10-04 at 00:56 +0200, katja wrote:
> 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.
I think this is the right approach to coding this stuff. Both the
compilers and the CPUs can do a lot more since that code was originally
written.
Debian doesn't compile things at -O0, but it does not allow CPU-specific
optimizations (i.e. SSE). I'm sure -O2 is ok for Debian. aI hope that
Debian allows SSE on the amd64 arch, since all x86_64 CPUs support SSE.
SSE has been in Intel i386 chips since 1999 and I think basically all
i386 chips since 2004.
And we have our first Pd-double build!
http://autobuild.puredata.info/auto-build/2011-10-03/Pd-0.43.1-double-20111003-macosx106-x86_64.dmg
rsync -av --delete rsync://128.238.56.50/distros/pd-double/ pd-double/
.hc
More information about the Pd-dev
mailing list