our $ref = { 1 .. 1e6 }; our %h = 1 .. 1e6; { my $_ref = { 1 .. 1e6 }; my %_h = 1 .. 1e6; cmpthese -5,{ a => sub{ exists $_ref->{$_} and 1 for 1 .. 1e6; }, b => sub{ exists $_h{$_} and 1 for 1 .. 1e6; }, c => sub{ exists $ref->{$_} and 1 for 1 .. 1e6; }, d => sub{ exists $h{$_} and 1 for 1 .. 1e6; } } };; Rate a c d b a 3.31/s -- -2% -3% -4% c 3.38/s 2% -- -0% -2% d 3.39/s 3% 0% -- -2% b 3.45/s 4% 2% 2% --