Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options

Re^3: Avoiding memory loss...

by LanX (Bishop)
on Dec 27, 2012 at 23:39 UTC ( #1010597=note: print w/replies, xml ) Need Help??

in reply to Re^2: Avoiding memory loss...
in thread Avoiding memory loss...

> No, perl doesn't use a garbage collector.

most probably a problem of fuzzy terminology¹, perldoc talks about "garbage collection":

 Perl uses a fast and simple, reference-based garbage collection system

see perlobj#Two-Phased-Garbage-Collection

But as opposed to mark-and-sweep Perl's runtime approach is very simple an efficient.

OTOH it can't handle circular references.

And even if mark-and-sweep was used, IIRC Python does it and is still very performant. ²

Cheers Rolf


¹) from perlglossary

garbage collection A misnamed feature--it should be called, "expecting your mo +ther to pick up after you". Strictly speaking, Perl doesn’t do thi +s, but it relies on a reference-counting mechanism to keep things +tidy. However, we rarely speak strictly and will often refer to t +he reference-counting scheme as a form of garbage collection. + (If it’s any comfort, when your interpreter exits, a "real" gar +bage collector runs to make sure everything is cleaned up if you +’ve been messy with circular references and such.)

²) more complicated: "While Python uses the traditional reference counting implementation, it also offers a cycle detector that works to detect reference cycles."

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1010597]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (9)
As of 2018-06-20 14:34 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (116 votes). Check out past polls.