I'm in the middle of a rather large project, and stopped to do a memory
usage sanity check. To my surprise I found a leak and traced it back to
the way I was allocating PerlHashes and whatnot.
To boil it down further, look at this PASM:
LOOP: new P1, .PerlHash
branch LOOP
What I'd *expect* is that this would have a steady-state, as each new
PerlHash is created it bashes the pointer to the previous PerlHash in
P1. The old PerlHash would then get garbage collected and after the second
iteration I'd reach a steady-state for memory usage. Kinda like this Perl:
LOOP: $t={};
goto LOOP;
Only that ain't how it works. What happens is that memory gets chewed up
quickly. Do I have the wrong idea of how the Px registers are used to point
to things (god, I hope not) or is there some GC that needs to happen that
isn't (and I can expect it to vanish eventually)?
- Re: Questions about Px registers and memory usage [PATCH... Clinton A. Pierce
- Re: Questions about Px registers and memory usage [... Peter Gibbs
- Re: Questions about Px registers and memory usa... Leopold Toetsch