perl -MTime::HiRes=time -E"@a=1..1e6;$t=time; ++$a[$_] for 1..1e6; printf qq[%f\n], time()-$t" 0.146912 perl -MTime::HiRes=time -E"%h=map{($_)x2}1..1e6;$t=time; ++$h{$_} for 1..1e6; printf qq[%f\n], time()-$t" 0.525000 #### perl -MTime::HiRes=time -E"$t=time;my @a; $a[$_]=1 for 1..1e6; printf qq[%f\n], time()-$t" 0.220181 perl -MTime::HiRes=time -E"$t=time;my %h; $h{$_}=1 for 1..1e6; printf qq[%f\n], time()-$t" 1.805000