Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change

Re^2: mem usage

by halfcountplus (Hermit)
on May 26, 2010 at 18:05 UTC ( #841771=note: print w/replies, xml ) Need Help??

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 (Pope) 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

Log In?

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

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (3)
As of 2017-07-23 01:21 GMT
Find Nodes?
    Voting Booth?
    I came, I saw, I ...

    Results (342 votes). Check out past polls.