Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^2: A way to test that circular references are actually freed

by Jeffrey Kegler (Hermit)
on Oct 10, 2007 at 12:13 UTC ( [id://643935]=note: print w/replies, xml ) Need Help??


in reply to Re: A way to test that circular references are actually freed
in thread A way to test that circular references are actually freed

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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://643935]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (3)
As of 2024-04-25 22:16 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found