in reply to Re: mem usage
in thread mem usage

Perl data structures (see PerlGuts Illustrated) need more memory than the mere user data they hold.

Will read. I presumed they used a bit more space, say a few pointers per element for an array -- but that is really really quite a lot.

I've also read somewhere that perl allocates in "power of 2" chunks. So when you add a 2nd element, you get allocated space for 4, then at 5 you get 8, at 9 you get 16 and so on. Is this true?

Replies are listed 'Best First'.
Re^3: mem usage
by ikegami (Patriarch) on May 26, 2010 at 18:37 UTC

    Close. When it grows, the array size doubles in size plus 4. An array with 1000 scalars in it could take up as much as

    Array overhead + ( 999*2+4 ) * size of a pointer + 1000 * size of the scalars