perl -we 'use Time::HiRes "time"; %a = map rand, 1 .. (1<<18); %b = map rand, 1 .. (1<<18); warn($t = time()); %a = (%a, %b); warn time() - $t; warn 0+keys(%a);' #### perl -we 'use Time::HiRes "time"; %a = map rand, 1 .. (1<<18); %b = map rand, 1 .. (1<<18); warn($t = time()); @a{keys %b} = values %b; warn time() - $t; warn 0+keys(%a);'