Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Is there a way(maybe tool?) to know the amount of memory an array takes?

by PerlOnTheWay (Scribe)
on Oct 21, 2011 at 12:34 UTC ( #932880=perlquestion: print w/ replies, xml ) Need Help??
PerlOnTheWay has asked for the wisdom of the Perl Monks concerning the following question:

my @a; $a[100]=1;#how much memory taken by @a so far? $a[1000]=1;#how much memory taken by @a so far? $a[10000]=1;#how much memory taken by @a so far? ...

Is that possible?

Comment on Is there a way(maybe tool?) to know the amount of memory an array takes?
Download Code
Re: Is there a way(maybe tool?) to know the amount of memory an array takes?
by derby (Abbot) on Oct 21, 2011 at 12:42 UTC
Re: Is there a way(maybe tool?) to know the amount of memory an array takes?
by zentara (Archbishop) on Oct 21, 2011 at 12:57 UTC
    If you just want a general guideline as to how much memory your script is using, in realtime, with a simple little Tk display, see linux memory leak monitor. It won't be as accurate as Devel::Size, but its alot easier, all you do is put "use MeM;" at the top of your script, and a little window will open in the lower right corner, showing the second by second memory usage of your script.

    I'm not really a human, but I play one on earth.
    Old Perl Programmer Haiku ................... flash japh
Re: Is there a way(maybe tool?) to know the amount of memory an array takes?
by Anonymous Monk on Oct 22, 2011 at 02:41 UTC
    I've seen this done
    my $before = current_memory(); my $after = current_memory(); SomethingSomething(); print join "\n", ' Before ', format_memory($before), ' After ', format_memory($after), ' Diff ', format_memory($after - $before), '' ; sub format_memory { my ($self, $memory) = @_; 1 while $memory =~ s/^([-+]?\d+)(\d{3})/$1,$2/; return "$memory KB"; } sub current_memory { my $self = shift; my $out = `ps -o rss= -p $$`; $out =~ s/^\s*|\s*$//gs; $out; }

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (10)
As of 2014-12-20 20:58 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

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





    Results (98 votes), past polls