| August 1999 | Perl Hardware Store | Slide #24 | 
Pure functions get faster when you memoize them.
A memoized function caches its return values
If you call it with the same arguments, it returns the cached value
         { my @fact = (1);
             sub factorial {
             my $n = shift;
             return $fact[$n] 
               if defined $fact[$n];
             $fact[$n] = 
               ($n == 0 ? 1 
                        : $n * factorial($n-1));
           }
         }
| Next | ![]()  | 
    Copyright © 1998 M-J. Dominus |