in reply to Re^2: memory sieve discovery
in thread memory sieve discovery

I think at least part of this report is exaggerated. Devel::LeakTrace::Fast says that most of its reporting starts at INIT time to circumvent problems with symbol table aliasing. But the "early" reports for example for HTTP::Message (line 9) come because HTTP::Message uses require instead of use to load Carp.pm. My guess is that all modules by Gisle Aas , most notably all modules comprising LWP, will follow the same allocation pattern (that is, URI::http, LWP). Most likely, others will also follow this pattern.

I think to separate the wheat from the chaff of the leaks reported by Devel::LeakTrace::Fast, you will have to write code that runs a small loop exercising exactly the code where the leak is reported, and then watch that program to see whether it grows beyond bounds or not. As another example, line 25 of SpreadSheet::WriteExcel::Formula seems to be the @ISA assignment - while that's using up memory, it's not generally considered a leak because that memory is still reachable.

Replies are listed 'Best First'.
Re^4: memory sieve discovery
by Pstack (Scribe) on Jan 19, 2008 at 21:05 UTC
    Going on what hipowls says above, and despite the inner concerns raised as a side issue, I believe Perl is squarely eliminated from my own more pressing problem. When I can return to cleaning up those 80 holes of mine I will be keeping your suggestions in mind, and will clearly have my hands full for a while.

    cheers