List::Utilの中身だけど、これのどこにそんなに速くなる要素があるの?

sub reduce (&@) {
my $code = shift;

return shift unless @_ > 1;

my $caller = caller;
local(*{$caller."::a"}) = \my $a;
local(*{$caller."::b"}) = \my $b;

$a = shift;
foreach (@_) {
$b = $_;
$a = &{$code}();
}

$a;
}
sub max (@) { reduce { $a > $b ? $a : $b } @_ }