[PD] what makes Pd-extended 0.43 so CPU-hungry?

Hans-Christoph Steiner hans at at.or.at
Tue Dec 11 20:58:37 CET 2012


On Dec 10, 2012, at 9:40 AM, katja wrote:

> On Fri, Dec 7, 2012 at 11:46 PM, Hans-Christoph Steiner <hans at at.or.at> wrote:
>> 
>> 
>> Thanks for this write-up and all that testing, its definitely very
>> helpful.  So in the end, you're talking about Pd-extended on debian only?
>> It sounds like your tests show that 0.43 was not slower on Mac OS X.
>> 
>> It does look like the Debian-i386 builds don't have optimization turned
>> on, you can look at the build log to see exactly how it was built
> 
> Hans I checked build logs for various Linux builds and for OSX. As it
> turns out, Pd core is optimized as well as some external libs (ie
> GEM), but other externals (like freeverb~) are optimized for OSX and
> not for Debian.
> 
> I suspect the problem is in Makefiles according to the template. They
> have lines like "OPT_FLAGS = -O6 -funroll-loops -fomit-frame-pointer".
> But Makefiles for packages have OPT_FLAGS as well, therefore in the
> library template it should be OPT_FLAGS +=, no? The darwin_app package
> makefile defines a lot of OPT_FLAGS, including -fast. The linux
> package makefile defines several OPT_FLAGS according to target
> platform, but no optimization level. Apparently, OPT_FLAGS in the
> package Makefile are implemented, and not the ones in the template.
> 
> I don't have a Pd autobuild or SVN setup on my Linux box now, can't
> test a modification rightaway. Anyhow, I guess the problem is now
> identified. I am sorry about my blunt subject title 'what makes Pd
> 0.43 so CPU hungry?'. It wasn't even about Pd, but Pd-extended.

I added optimization flags to the GNU/Linux and Windows builds:

http://pure-data.svn.sourceforge.net/viewvc/pure-data?view=revision&revision=16655
http://pure-data.svn.sourceforge.net/viewvc/pure-data?view=revision&revision=16656
http://pure-data.svn.sourceforge.net/viewvc/pure-data?view=revision&revision=16657

I just remembered one issue: one thing that makes it tricky to set optimization flags for all of Pd-extended is the last few remaining type punning issues:
http://autobuild.puredata.info/auto-build/2012-12-11/logs/type-punning-2012-12-11.txt

I fixed a few recently. Want to try fixing bsaylor/svf~ or oscx?  As for 'extra', I think I'll include your pd-double fixes in the pd-extended 0.43 branch.

.hc


More information about the Pd-list mailing list