An experimental analysis of self-adjusting computation

  • Authors:
  • Umut A. Acar;Guy E. Blelloch;Matthias Blume;Kanat Tangwongsan

  • Affiliations:
  • Toyota Technological Institute;Carnegie Mellon University;Toyota Technological Institute;Carnegie Mellon University

  • Venue:
  • Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
  • Year:
  • 2006

Quantified Score

Hi-index 0.01

Visualization

Abstract

Dependence graphs and memoization can be used to efficiently update the output of a program as the input changes dynamically. Recent work has studied techniques for combining these approaches to effectively dynamize a wide range of applications. Toward this end various theoretical results were given. In this paper we describe the implementation of a library based on these ideas, and present experimental results on the efficiency of this library on a variety of applications. The results of the experiments indicate that the approach is effective in practice, often requiring orders of magnitude less time than recomputing the output from scratch. We believe this is the first experimental evidence that incremental computation of any type is effective in practice for a reasonably broad set of applications.