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% --