Rate w=1 w=0
w=1 3003/ms -- -1%
w=0 3032/ms 1% --
Rate w=1 w=0
w=1 3002/ms -- -0%
w=0 3010/ms 0% --
####
use strict;
use warnings;
use Benchmark qw( cmpthese );
my $OUTER = $ARGV[0] || -3;
my $INNER = $ARGV[1] || 1000;
# ----------------------------------------
my %tests = (
'w=1' => <<'__EOI__',
use warnings;
$arg .= $arg;
__EOI__
'w=0' => <<'__EOI__',
no warnings;
$arg .= $arg;
__EOI__
);
# ----------------------------------------
my %bench = map { $_ => "use strict;
use warnings;
our \$arg;
for (1..$INNER) {
$tests{$_};
}
"
}
keys %tests;
{
local our $arg = '';
cmpthese($OUTER, \%bench);
print("\n");
print("Multiply by $INNER to get real rate.\n");
}
####
Rate sr=0 sr=1
sr=0 2751/ms -- -0%
sr=1 2759/ms 0% --
Rate sr=1 sr=0
sr=1 2735/ms -- -1%
sr=0 2754/ms 1% --
####
use strict;
use warnings;
use Benchmark qw( cmpthese );
my $OUTER = $ARGV[0] || -3;
my $INNER = $ARGV[1] || 1000;
# ----------------------------------------
my %tests = (
'sr=1' => <<'__EOI__',
use strict;
$arg .= $$ref;
__EOI__
'sr=0' => <<'__EOI__',
no strict;
$arg .= $$ref;
__EOI__
);
# ----------------------------------------
my %bench = map { $_ => "use strict;
use warnings;
our \$arg;
our \$ref;
for (1..$INNER) {
$tests{$_};
}
"
}
keys %tests;
{
local our $arg = '';
local our $ref = \$arg;
cmpthese($OUTER, \%bench);
print("\n");
print("Multiply by $INNER to get real rate.\n");
}