Automating program speedup by deciding what to cache

  • Authors:
  • Jack Mostow;Donald Cohen

  • Affiliations:
  • Rutgers University, Department of Computer Science, Hill Center, New Brunswick, New Jersey and USC Information Sciences Institute, Marina del Rey, California;Rutgers University, Department of Computer Science, Hill Center, New Brunswick, New Jersey and USC Information Sciences Institute, Marina del Rey, California

  • Venue:
  • IJCAI'85 Proceedings of the 9th international joint conference on Artificial intelligence - Volume 1
  • Year:
  • 1985

Quantified Score

Hi-index 0.00

Visualization

Abstract

A common program optimization strategy is to eliminate recomputation by caching and reusing results. We analyze the problems involved in automating this strategy: deciding which computations are safe to cache, transforming the rest of the program to make them safe, choosing the most cost-effective ones to cache, and maintaining the optimized code. The analysis extends previous work on caching by considering side effects, shared data structures, program edits, and the acceptability of behavior changes caused by caching. The paper explores various techniques for solving these problems and attempts to make explicit the assumptions on which they depend. An experimental prototype incorporates many of these techniques.