Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

Adaptive Memoization Umut A. Acar Guy E. Blelloch Robert Harper

Summary: Adaptive Memoization
Umut A. Acar Guy E. Blelloch Robert Harper
20 November 2004
School of Computer Science
Carnegie Mellon University
Pittsburgh, PA 15213-3890
We combine adaptivity and memoization to obtain an incremental computation
technique that dramatically improves performance over adaptivity and memoization
alone. The key contribution is adaptive memoization, which enables result re-use by
matching any subset of the function arguments to a previous function call and updating
the result to satisfy the unmatched arguments via adaptivity.
We study the technique in the context of a purely functional language, called IFL,
and as an ML library. The library provides an e∆cient implementation of our techniques
with constant overhead. As examples, we consider Quicksort and Insertion Sort. We
show that Quicksort handles insertions or deletions at random positions in the input
list in O(log n) expected time. For insertion sort, we show that insertions and deletions
anywhere in the list take O(n) time.


Source: Acar, Umut - Programming Languages and Systems Group, Max-Planck Institute for Software Systems


Collections: Computer Technologies and Information Sciences