[PD] Profiling PD patches and externals.

Rafael Vega contacto at rafaelvega.co
Mon Mar 14 21:13:40 CET 2016


Hi.

I've been working on a synthesizer built with PD and running it on a 
BeagleBone Black [1]. For this, I've written a number of abstractions 
and two externals. Right now the synth is monophonic and uses 100% CPU 
when started, causing many audible clicks and artifacts. After about 5 
seconds, it "stabilizes" down to 75% CPU and the latency and sound is 
pretty good.

Now, I need to make the synth polyphonic so CPU time has to be freed for 
the additional voices. For this, I'm thinking about building PD with 
debug symbols and running my patch through a profiler such as 
Callgrind/KCacheGrind to try to figure out where most CPU consumption is 
happening and optimizing around that.

Can anyone share any techniques or tips used to optimize PD patches and 
externals? Are there any tools specific for PD for this kind of task? 
Any reason why my approach would or would not work?

Thanks!

Rafael Vega.

[1] http://beagleboard.org/black



More information about the Pd-list mailing list