http://qs1969.pair.com?node_id=516937


in reply to Re^2: Out of Memory Error -- Possible Leak?
in thread Out of Memory Error -- Possible Leak?

That isn't possible, because Perl doesn't use a separate garbage collector. It simply reference-counts all its data (scalars, arrays, hashes etc) and frees an item when its reference count drops to zero.

(This is why circular data structures cause memory leaks.)

  • Comment on Re^3: Out of Memory Error -- Possible Leak?

Replies are listed 'Best First'.
Re^4: Out of Memory Error -- Possible Leak?
by emilper (Novice) on Dec 15, 2005 at 14:55 UTC

    then how do you explain this ?

    try:

    perl -e ' use Tk; while (1) { my $top = new MainWindow; }'
    

    it will fill your RAM at a rate of about 1MB per second ...

      If you're right about that, then it's a memory leak in the Tk module, which you should report to its maintainers. That shouldn't happen, and it's not caused by anything that Perl itself is doing.

      Seriously, I do know how Perl's garbage collection works. I'm not just pretending. :-)