foreach my $k (keys %h){
}
####
foreach my $k (keys %h){
my $v=$h{$k};
}
##
##
case 10000
hash ready ... count=10000
Sat Nov 12 01:13:29 2011
----------------------------------------
Rate test_each test_keys
test_each 108/s -- -28%
test_keys 151/s 40% --
----------------------------------------
Sat Nov 12 01:14:22 2011
case 100000
hash ready ... count=100000
Sat Nov 12 01:14:23 2011
----------------------------------------
Rate test_keys test_each
test_keys 4.63/s -- -23%
test_each 6.02/s 30% --
----------------------------------------
Sat Nov 12 01:15:20 2011
case 1000000
hash ready ... count=1000000
Sat Nov 12 01:15:32 2011
----------------------------------------
s/iter test_keys test_each
test_keys 2.71 -- -30%
test_each 1.89 43% --
----------------------------------------
Sat Nov 12 01:16:35 2011
case 2000000
hash ready ... count=2000000
Sat Nov 12 01:19:32 2011
----------------------------------------
s/iter test_keys test_each
test_keys 5.69 -- -31%
test_each 3.91 46% --
----------------------------------------
Sat Nov 12 01:21:49 2011
##
##
$./025-6.pl -M1=keys -M2=pairs -N=1e6
hash built, starting timer
Took 3.931463 and 39.000MB extra memory for 1000000 using keys/pairs method
$./025-6.pl -M1=each -M2=pairs -N=1e6
hash built, starting timer
Took 2.434757 and 1.000MB extra memory for 1000000 using each/pairs method