ix wrote:
im wondering how others go about avoiding memory leaks caused by excessive symbol generation.
recently, ive found zexy-l2s to be the 'savior' to a lot of problems, such as:
.pool loses symbols embedded in lists after load/save .@list in toxy does not work with variable length lists .other objects work on symbols or float but not variable-length lists.. (or no way to toggle distribution to inlets) .qlist wont work with absolute timestamps..but oh wait, l2s & pipe does the trick! .want to insert 2, or maybe 3 or 4 elements, into a list after the first 2 elements .want to insert an entire list into another message, so use l2s and $1, etc...
everything works out but the catch is chew 1 mb RAM a minute or more, just from all the symbols being generated. im not sure i really need all them to stick around in some hash table after theyre handed off to another object or split up anyways..
i do not think that [l2s] should be ab-used to do complex list-operations (like inserting lists into lists,...) i mean, [ls2] generates a symbol and a symbol is meant to symbolize something rather than store data (well, forget that; but pd's strength is certainly not symbol-handling).
so we should improve pd's list handling rather than use symbol-handling for this. until this gets done, i would suggest to make some abstractions that emulate this handling; they will certainly be more efficient if you do not choose to convert numbers to strings and back again in between; and it will be more accurate, as pd's floats are real floats whereas converting them to symbols (strings) rounds them to 8 (or so) decimals.
<payed advertisment> [l], [packel], [niagara], [glue] (or some version of [prepend]), [length], [repack] will allow you to build(!) almost everything you need </payed advertisment>
mfg.as.r IOhannes
PD-list@iem.at mailing list UNSUBSCRIBE and account-management -> http://iem.at/cgi-bin/mailman/listinfo/pd-list