Proceedings

Automating Program Speedup by Deciding What to Cache

Download BibTeX Cite

Proceedings of the Ninth International Joint Conference on Artificial Intelligence. Automated Reasoning. Pages 165-171.

© 1985 International Joint Conferences on Artificial Intelligence

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 .

  1. J. A. Anderson (ed .), Cognit ive Skills and their Acquisition, Erlbaum , 1981 . Contains papers presented at 1980 Carnegie Symposium on Cognition , Pittsburgh , PA .
  2. Bird
  3. R. S. Bird , "Tabulation techniques for recursive programs," ACM Computing Surveys 12, (4) , 1980, 403•417 .
  4. E. Kant, "A knowledge -based approach to using efficiency estimation in program synthesis," in IJCAI-6 , pp. 457 -462, Tokyo, Japan , 1979. IJCAI
  5. D. B. Lenat, F. Hayes-Roth , and P. Klahr, "Cognitive economy in artificial intelligence systems, " in IJCA I-6, pp. 531•536, Tokyo, Japan , 1979. IJCAI
  6. D. Marsh , "Memo functions , the Graph Traverser, and a simple control situation," in B. Meltzer and D. Michie (eds.), Machine Intelligence 5, pp. 281 •300, American Elsevier, New York, 1970.
  7. Neches , R. , Models of Heu ris tic Procedure Modification , Ph .D. thesis, Department of Psychology, Carnegie -Mellon University, 1981 .
  8. Paige& Koenig 82)
  9. R. Paige and S. Koenig , "Finite differencing of computable expressions," ACM TOPLAS 4, (3) , Ju ly 1982, 402•454.
  10. Rosenbloom
  11. Rosenbloom , P. S., The Chunking of Go al Hierarchies: A Model of Practice and Sti mulus -Respon se Compatibility , Ph.D. thesis, Carnegie-Mellon University, 1983. Comp. Sci. Tech . Rep. #83•148.
  12. Beau Sheil , "Power tools for programmers," Datama tion , February 1983, 131 •144.
  13. Teitel man 78)
  14. Teitelman , W., lnterlisp Referenc e Manual, Xerox Palo Alto Research Center, 1978.

References were extracted automatically from the PDF and may contain errors.

Welcome Future Conferences AI Journal Division IJCAI Proceedings About IJCAI IJCAI Awards