hi again,
after recompiling m_memory.c with LOUD #defined, creating a dummy abstraction (with 2 objects in it), putting 40 copies of this abstraction in a patch, and opening this patch in a new pd session started as `pd 2&>test.out', I got one sequence of 40 identical (apart from addresses) blocks of 44 lines each and another sequence of 40 identical blocks of 16 lines. So for each abstraction instance I got a total of 60 lines in test.out file: 45 of those lines are allocations (new), 5 are upward reallocations (resize to a bigger value), 2 are downward reallocations, and 8 are deallocations (free).
Krzysztof
(what this all means I do not know yet, but will try to investigate further tomorrow...)
Miller Puckette wrote: ...
Hmm, since memory is getting allocated, but almost never freed, as a patch gets loaded, I don't think fragmentation is possible. Perhaps w98 has some per-process memory limit (like the old Mac OS?) I'm afraid even to guess. But I'll at least put an appropriate doomsday message for the next Pd release so it at least prints something out...
...