#!/usr/bin/perl
use strict;
use warnings;
use Benchmark qw{cmpthese};
cmpthese( -1 => {
no_assignment => sub {
for( 1..10_000 ) {
my %hash;
$hash{$_} = $_;
$hash{-$_} = -$_;
}
},
assignment => sub {
for( 1..10_000 ) {
my %hash = ();
$hash{$_} = $_;
$hash{-$_} = -$_;
}
},
} );
__END__
Rate assignment ano_assignment
assignment 99.4/s -- -8%
no_assignment 108/s 9% --
####
Rate no_assignment assignment
no_assignment 96.6/s -- -3%
assignment 99.4/s 3% --
####
Rate assignment no_assignment
assignment 1068/s -- -37%
no_assignment 1685/s 58% --
####
Rate assignment no_assignment
assignment 11967704/s -- -49%
no_assignment 23642004/s 98% --