use Benchmark qw( cmpthese ); use List::Util qw( shuffle ); my @set = shuffle 1 .. 1_000_000; cmpthese( 100, { 'sort' => sub { my @x = sort { $b <=> $a } @set; return; }, 'rsort' => sub { my @x = reverse sort { $a <=> $b } @set; return; }, } ); __END__ Rate sort rsort sort 1.01/s -- -2% rsort 1.03/s 2% --