Automating Program Speedup by Deciding What to Cache
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.
Cite
Text
Mostow and Cohen. "Automating Program Speedup by Deciding What to Cache." International Joint Conference on Artificial Intelligence, 1985.Markdown
[Mostow and Cohen. "Automating Program Speedup by Deciding What to Cache." International Joint Conference on Artificial Intelligence, 1985.](https://mlanthology.org/ijcai/1985/mostow1985ijcai-automating/)BibTeX
@inproceedings{mostow1985ijcai-automating,
title = {{Automating Program Speedup by Deciding What to Cache}},
author = {Mostow, Jack and Cohen, Donald},
booktitle = {International Joint Conference on Artificial Intelligence},
year = {1985},
pages = {165-172},
url = {https://mlanthology.org/ijcai/1985/mostow1985ijcai-automating/}
}