@a = 1 .. 1e6;; sub get{ return $a[ $_[0] ] };; sub get1{ get( @_ ) };; sub get2{ get1( @_ ) };; cmpthese -1, { a=>q[ my $x; $x = $a[$_] for 0 .. $#a], b=>q[my $x; $x = get2($_) for 0 .. $#a ] };; (warning: too few iterations for a reliable count) Rate b a b 1.29/s -- -75% a 5.27/s 307% --