19 lines
330 B
Perl
19 lines
330 B
Perl
use Benchmark;
|
|
use Memoize;
|
|
|
|
sub fac1 {
|
|
my $n = shift;
|
|
return $n == 0 ? 1 : $n * fac1($n - 1);
|
|
}
|
|
sub fac2 {
|
|
my $n = shift;
|
|
return $n == 0 ? 1 : $n * fac2($n - 1);
|
|
}
|
|
memoize('fac2');
|
|
|
|
my $result = timethese(100000, {
|
|
'fac1' => sub { fac1(50) },
|
|
'fac2' => sub { fac2(50) },
|
|
});
|
|
Benchmark::cmpthese($result);
|