#!/usr/bin/perl sub dest { return 1 } # don't want it optimised away use Benchmark qw(:all); cmpthese(-1, { goto => sub { goto &dest; }, call => sub { return dest(@_); }, callamp => sub { return &dest; }, }); #### $ perl5.8.8 x.pl Rate call callamp goto call 4283398/s -- -9% -29% callamp 4693114/s 10% -- -22% goto 5996757/s 40% 28% -- $ perl5.14.1 x.pl Rate call goto callamp call 4633858/s -- -9% -12% goto 5119310/s 10% -- -2% callamp 5242879/s 13% 2% --