On Fri, 7 Jun 2002, Krzysztof Czaja wrote:
indeed, I would happily choose pre-allocation method -- this is a default in 'testmess' class. But I need to sort out two things:
. how to handle reentrant calls
I see, if I understand it right the fear is you get called again while your old message might still be useful in some context ? i am not sure if this can happen within pd, because the messages are delivered directly from within the method, and recursion on this level isn't possible ?
. whether/when to collect the garbage.
My second favourite is the stack method, which, unfortunately, requires choosing a more or less arbitrary limit for a passable message length.
maybe the easiest way to do it ...
Then, there is a mixed solution of choosing the best method each time the function is called, depending on current state of an object and on input data size. But I am afraid it is too complicated to maintain separately for every class.
Btw, I have performed a few more tests, this time with randomized message lengths, and using another, gcc-2.96-based system. The results for [testmess heap] are much worse than I expected..
might be an issue of the processor cache ?
Guenter