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