use Math::BigApprox qw/Fact/; use Benchmark qw/cmpthese/; use Memoize; memoize( 'Fact', INSTALL => 'fastFact' ); our $test = 20000; print "$test!\t=>\t", Fact($test), "\n"; cmpthese ( -5, { Fact => sub{ my $a = Fact($test) }, fastFact => sub{ my $a = fastFact($test) }, } );