As I understand it a hash is more expensive than an array. Two hashes are more expensive than one hash due to the cost of setting up the buckets. In your case you want to waste some elemets in the array so the answer is GOK. The solution is suck it and see. Run this sort of code and look at real time memory useage. Make either a hash or an array an look at the memory hit.
$size = 20000; # make a hash for ($key = 0 ; $key < $size ; $key += 2 ) { $hash{$key} = [ ( 0..100 ) ]; } # make an array, wasting 50% of the spaces #for ($key = 0 ; $key < $size ; $key += 2 ) { # $ary[$key] = [ ( 0..100 ) ]; #} print "Made big data structure, sleeping 20 seconds!\n"; sleep 20;
cheers
tachyon
s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print
In reply to Re: Array vs. Hash (newbie perlguts)
by tachyon
in thread Array vs. Hash (newbie perlguts)
by perchance
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |