#!/usr/bin/perl use Benchmark; @one = ('a' x 100); @two = ('a' x 1000); @three = ('a' x 10000); timethese( 100000, { 'rev 100' => sub { reverse @one }, 'rev 1000' => sub { reverse @two }, 'rev 10000' => sub { reverse @three }, } ); #### Benchmark: timing 100000 iterations of rev 100, rev 1000, rev 10000... rev 100: 1 wallclock secs ( 0.24 usr + 0.00 sys = 0.24 CPU) @ 416666.67/s (n=100000) (warning: too few iterations for a reliable count) rev 1000: 1 wallclock secs ( 0.87 usr + 0.00 sys = 0.87 CPU) @ 114942.53/s (n=100000) rev 10000: 8 wallclock secs ( 7.65 usr + 0.00 sys = 7.65 CPU) @ 13071.90/s (n=100000)