Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^3: Trouble getting size of list returned from sub

by Anonymous Monk
on Nov 26, 2012 at 10:27 UTC ( #1005606=note: print w/ replies, xml ) Need Help??


in reply to Re^2: Trouble getting size of list returned from sub
in thread Trouble getting size of list returned from sub

Without wantarray perl doesn't seem to reduce memory usage

sub mm { print( (`pslist -m $$ 2>NUL`)[-2,-1] )} sub ff { my @fudge = 1 .. 1_000_000; @fudge } sub fa { scalar @{[ &ff ]} } mm; ff; mm; warn fa; __END__ Name Pid VM WS Priv Priv Pk Faults Non +P Page perl 796 62168 46336 44336 48196 12572 +2 34 Name Pid VM WS Priv Priv Pk Faults Non +P Page perl 796 66076 50280 48252 48260 13582 +2 34 1000000 at - line 4.

Using the accumulator doesn't appear to reduce memory usage, because one function still returns a list

sub mm { print( (`pslist -m $$ 2>NUL`)[-2,-1] )} sub ff { my @fudge = 1 .. 1_000_000; @fudge } sub fa { scalar( () = &ff ) } mm; ff; mm; warn fa; __END__ Name Pid VM WS Priv Priv Pk Faults Non +P Page perl 1432 62168 46336 44336 48196 12572 +2 34 Name Pid VM WS Priv Priv Pk Faults Non +P Page perl 1432 66076 50280 48252 48260 13582 +2 34 1000000 at - line 4.

I suppose this could actually be optimized, I see no technical reason, but its fairly minor


Comment on Re^3: Trouble getting size of list returned from sub
Select or Download Code
Re^4: Trouble getting size of list returned from sub
by Anonymous Monk on Nov 26, 2012 at 10:33 UTC
    Bah, I fudged it up

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (6)
As of 2015-07-06 23:29 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (85 votes), past polls