On Jan 28, 2006, at 12:39 AM, James Britt wrote:

> Basically, the arguments to the target method are used as a hash  
> key into a cache. The cache hash is stored either in memory, or  
> (optionally) on disk.

It's actually always in memory with the current implementation, and  
can optionally be duplicated on disk.

> (But note that an in-memory hash will exist for each instance.  A  
> file allows for all instances to share values, and to have those  
> values persist from runs of the application, but may introduce race  
> conditions.)

The current file support doesn't really get you all the way to  
sharing a cache among objects, since it's only read from at the time  
the object is converted to use memoization.

The current file implementation is only for persistence, in my  
opinion, and really for just one process at that.

See the "Rethinking Memoization" for more details on all of this...

James Edward Gray II