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