use strict;
use Benchmark qw(cmpthese);
cmpthese(-1,
{
forward => sub {
for (0 .. 10) {};
},
backward => sub {
for (reverse 0 .. 10) {};
},
}
);
####
$ perl y
Rate backward forward
backward 182237/s -- -13%
forward 210436/s 15% --
$ perl5.8.5 y
Rate backward forward
backward 234216/s -- -9%
forward 256000/s 9% --
####
use strict;
use Benchmark qw(cmpthese);
my @a = 0..100;
cmpthese(-1,
{
forward => sub {
for (@a) {};
},
backward => sub {
for (reverse @a) {};
},
}
);
####
$ perl y
Rate backward forward
backward 39822/s -- -12%
forward 45189/s 13% --
$ perl5.8.5 y
Rate backward forward
backward 44799/s -- -3%
forward 46089/s 3% --