Think about Loose Coupling | |
PerlMonks |
Re^2: A way to test that circular references are actually freedby Jeffrey Kegler (Hermit) |
on Oct 10, 2007 at 12:13 UTC ( [id://643935]=note: print w/replies, xml ) | Need Help?? |
Thanks for pointing me to Test::Memory::Cycle. It and Devel::Cycle (on which it's based) appear to work on a predictive basis. If they find no cycles, or only weakened ones, you could expect there to be no memory leaks.
The proposed Test::Weaken checks both before and after the fact to see that the memory was freed. It certainly would be useful in testing the other approach. :-) I also now find a Devel::Leak, which actually looks at the Perl internals. However, it requires Perl to have been compiled with the -DDEBUGGING flag set, whereas Test::Weaken works on Perl compiled the ordinary way. Perhaps which approach is best is a matter of specific situation and taste. I'd think the user would want to have modules implementing both approaches available in CPAN and to be able to take their choice. TIMTOWTDI and all that. I do notice that Devel::Cycle can handle cycles that happen via references to closures, something my code doesn't at this point. thanks, very helpful, jeffrey
In Section
Meditations
|
|