use strict;
use warnings;
use Benchmark qw/cmpthese/;
cmpthese( -1, {
Std_pos => sub { my $n = 0; if( $n < 1 ) { return 1 } },
# Std_neg => sub { my $n = 1; if( $n < 1 ) { return 1 } },
Rflx_pos => sub { my $n = 0; return 1 if $n < 1; },
# Rflx_neg => sub { my $n = 1; return 1 if $n < 1; },
And_pos => sub { my $n = 0; $n < 1 and return 1; },
# And_neg => sub { my $n = 1; $n < 1 and return 1; },
} );
####
Rate And_pos Std_pos Rflx_pos
And_pos 4338935/s -- -4% -5%
Std_pos 4504851/s 4% -- -2%
Rflx_pos 4574559/s 5% 2% --
####
Rate And_neg Rflx_neg Std_neg
And_neg 5286632/s -- -2% -14%
Rflx_neg 5401907/s 2% -- -12%
Std_neg 6149593/s 16% 14% --
####
Rate Std_pos Rflx_pos And_pos Rflx_neg And_neg Std_neg
Std_pos 4254827/s -- -3% -3% -15% -21% -22%
Rflx_pos 4368927/s 3% -- -0% -13% -19% -20%
And_pos 4376827/s 3% 0% -- -13% -19% -20%
Rflx_neg 5023657/s 18% 15% 15% -- -7% -8%
And_neg 5386758/s 27% 23% 23% 7% -- -2%
Std_neg 5486976/s 29% 26% 25% 9% 2% --