Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Re: Re: Re: Re: Optimising processing for large data files.

by tilly (Archbishop)
on Apr 11, 2004 at 01:54 UTC ( #344188=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Re: Re: Optimising processing for large data files.
in thread Optimising processing for large data files.

I guarantee the following statements.

  1. With Perl 5.8.2 running on Linux 2.4, I saw no such behaviour.
  2. Perl's documentation is readily available, and clearly documents that Perl does reference counting.
  3. Perl has reliable destructor behaviour, which no efficient true GC algorithm that I have seen offers.
  4. Parrot does use true GC, and there have been more than a few debates about what to do about reliable destructor behaviour with that switch.
  5. Perl's source-code is readily available, the SV struct has a field known as sv_refcnt, with macros like SvREFCNT_inc and SvREFCNT_dec to manipulate it. This is the reference counting mechanism.
  6. Perl has support to actually try to return unused memory to the OS where the OS supports that. I don't know the details of that support, but I've seen chip point it out, and I trust that he knows what he is talking about.
  7. I do not know how reliable Windows profiling tools are, or how the above-mentioned support for returning memory to the OS actually works. It is not impossible that what you describe has something to do with how Windows handles that interaction, or with how the profiling tools track stuff. I venture no guesses on how likely that is.
As a result of them I maintain my stated position. For good or bad, Perl 5 does NOT have a garbage collector that stops the program in the middle of running and proceeds to detect garbage.


Comment on Re: Re: Re: Re: Re: Optimising processing for large data files.
Re: Re: Re: Re: Re: Re: Optimising processing for large data files.
by BrowserUk (Pope) on Apr 11, 2004 at 06:05 UTC

    There you go again. Take two of my words, add 2 dozen of your own, mix together into an statement I never made--and then attack.

    You didn't see it. The rest is totally irrelavent.


    Examine what is said, not who speaks.
    "Efficiency is intelligent laziness." -David Dunham
    "Think for yourself!" - Abigail
      I disagree on the irrelevance of what I said.

      I'm gave you you a data point. On a different OS. I further addressed the question of how I know that Perl does not run GC periodically, and giving information that you can verify about it. My information varied from incidental discussions that you can Google for to see knowledgeable people talking about it to what to look for in the source code. In the process I hopefully showed that we have a better better way to resolve the question than running an experiment and guessing the meaning. I also provided an alternate explanation for the behaviour that you reported.

      Which piece of information is irrelevant to the discussion, and why do you think that it is irrelevant?

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (9)
As of 2014-12-18 06:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (43 votes), past polls