[Israel.pm] Garbage Collection Question
Jason.Elbaum at freescale.com
Sun May 9 02:44:38 PDT 2004
Yuval Yaari wrote:
> When that variable goes out of scope or is catched by the
> garbage fairy, Perl will not release that 1MB to the kernel right away, it
> will reuse it in case it needs it later on during execution."
Many operating systems never really allow a process to return allocated
memory to the OS until the process exits. Processes can only grow, not
shrink. This may be due to an assumption that if a process once needed X
MB, it will probably need it again some time, and the churn by
repeatedly allocating and deallocating it to the process is more
expensive to the OS than just leaving it there.
As a rule of thumb, you're better off not allocating massive data
structures unless you really need to access all the data at once.
More information about the Perl