I was talking about sending a large list through libpd which, I assume, is doing some sort of copying of floats as it translates from the libpd api to the internal pd api. At least that's what my ofxPD wrapper does, passes each float by value to libpd. Someone correct me if I'm wrong.

Besides, isn't there some sort of limit on the length of lists or does libpd handle this for you?

On Aug 28, 2011, at 1:33 PM, Mathieu Bouchard wrote:

On Sun, 28 Aug 2011, Dan Wilcox wrote:

and I could imagine sending a giant list would be alot slower then using an array.

A list is passed by pointer. The first thing that can be slower, is having to read the atomtype because list elements can be things other than floats. The second thing that can be slower, is if ever you need to copy the list or part thereof. But until the method returns, the argc and argv parametres can be used directly.

_______________________________________________________________________
| Mathieu Bouchard ---- tél: +1.514.383.3801 ---- Villeray, Montréal, QC