Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Devel::Size

by htoug (Deacon)
on Jan 27, 2003 at 12:28 UTC ( [id://230204]=note: print w/replies, xml ) Need Help??


in reply to Re: why does this array take up so much memory?
in thread why does this array take up so much memory?

Devel::Size is very informative:
use strict; use Devel::Size qw(size total_size); my $double; my @array; my @matrix; $double = 1.0; for my $x (0..9) { $array[$x] = 1.0; for my $y (0..9) { $matrix[$x][$y] = 1.0; } } print "Double: ", size(\$double), ", ", total_size(\$double), "\n"; print "Array: ", size(\@array), ", ", total_size(\@array), "\n"; print "Matrix: ", size(\@matrix), ", ", total_size(\@matrix), "\n";
gives these results running on my Alpha with Tru64:
Double: 24, 24 Array: 168, 408 Matrix: 168, 4488
So a matrix of 10*10 elements cost 4.5 K, giving 45 bytes pr element - not too bad.

Try other sizes for yourself, and go either the PDL or the Inline::C way, as others have recommended.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others cooling their heels in the Monastery: (9)
As of 2024-04-23 08:14 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found