On Dec 10, 2012, at 9:40 AM, katja wrote:
On Fri, Dec 7, 2012 at 11:46 PM, Hans-Christoph Steiner hans@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&revi... http://pure-data.svn.sourceforge.net/viewvc/pure-data?view=revision&revi... http://pure-data.svn.sourceforge.net/viewvc/pure-data?view=revision&revi...
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-...
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