use Benchmark 'cmpthese';
use strict;
my %hash = 1 .. 10_000;
my %add = 9_001 .. 11_000;
cmpthese(-5, {
BASE => sub {
my %copy = %hash;
},
JAPHY => sub {
my %copy = %hash;
my @new = grep !exists $copy{$_}, keys %add;
@copy{@new} = @add{@new};
},
ZAXO => sub {
my %copy = %hash;
%copy = (%add, %copy);
},
NULL => sub {
my %copy = %hash;
%copy = (%copy);
},
});
####
Rate ZAXO NULL JAPHY BASE
ZAXO 15.1/s -- -22% -61% -76%
NULL 19.3/s 28% -- -50% -69%
JAPHY 38.9/s 157% 101% -- -38%
BASE 62.4/s 312% 223% 60% --
##
##
Rate ZAXO NULL JAPHY BASE
ZAXO 11.4/s -- -39% -58% -81%
NULL 18.6/s 63% -- -31% -69%
JAPHY 26.9/s 136% 45% -- -56%
BASE 60.5/s 431% 225% 125% --