How to optimize (in terms of CPU) this Interface?

Darío Pagliaricci's icon

Hi...I´ve been programming this interface that consist basically in a loop player that reads files randomly stored in multiple buffers (with the polybuffer object) and then these files are routed via series of gates in order to being processed with a "scrubf" abstraction (from percolate library) and a granular and gabor psola from FTM, and finally a reverb also from percolate. The gates are designed in a very simple way in order to have the files routed to one or two of this efects, and also in dry mode. Then, this "module" is duplicated 8 times so you have more diversity to load up differents folders and so on....

So what´s the issue??...well, when i turn the Dsp on, the patch uses around 50% of my cpu being idle (i´m running a Macbook with a 2.4 ghz core2duo with 2 gb ram, and a 003 rack digidesign firewire audio interface) and then ramps out to 70 o 80 % when using Fof (gabor psola) subpatch with other effects, so i´m getting CPU overloads very quickly. I´m using mute and pass objects in all the effects in order to stop processing when I don´t need it (using the gate object).

I think there are problems with my interface that relate to errors in programming that cause CPU cycles being used unnecesarily. I would REALLY APPRECIATE if some could check the patch uploaded and tell me if something is being wrong, or can be optimized, or reprogrammed in order to be more efficient. I may be missing something.

Thanks a lot, and i would appreciate your feedback
Dario

846.interfaz_beta01.maxpat.zip
zip
Darío Pagliaricci's icon

I forgot to post my detailed specs..

Macbook 2.4 gh core2duo
2gb ram
160 hd
mac os x 10.5.8
Max-Msp 5.1.4

003 digi rack firewire

thanks and sorry, i´m new in the forum