use Benchmark qw(cmpthese); sub testRanges { my $cr=$_[0]; for my $M (1..1e2) { for my $N (1..$M) { $cr->($M,$N); } } } cmpthese(10 , { 'buk' => sub { testRanges(\&ranges_buk) } , 'eli_ik' => sub { testRanges(\&ranges_beth2) } } );