c:\@Work\Perl>perl -wMstrict -le "use List::Util qw(shuffle); ;; print 'shuffling...'; my @rra = shuffle 1 .. 10_000_000; ;; print 'sorting...'; my (@sorted, $start, $dur_asc, $dur_des); ;; $start = time; @sorted = sort @rra; $dur_asc = time - $start; ;; @sorted = (); ;; $start = time; @sorted = reverse sort @rra; $dur_des = time - $start; ;; print 'ascending (default sort): ', $dur_asc; print 'descending (reverse sort): ', $dur_des; ;; sub pra { print qq{@{ $_[0] }[ 0 .. 9 ] @{ $_[0] }[ -10 .. -1 ]}; } " shuffling... sorting... ascending (default sort): 57 descending (reverse sort): 53