ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Proc. of a conference on Functional programming languages and computer architecture
The Illinois functional programming interpreter
SIGPLAN '87 Papers of the Symposium on Interpreters and interpretive techniques
Anatomy of LISP
Characterization and elimination of redundancy in recursive programs
POPL '79 Proceedings of the 6th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Recursive programming through table look-up
SYMSAC '76 Proceedings of the third ACM symposium on Symbolic and algebraic computation
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Incremental computation and the incremental evaluation of functional programs
Incremental computation and the incremental evaluation of functional programs
SDE 3 Proceedings of the third ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Incremental computation via function caching
POPL '89 Proceedings of the 16th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Equal rights for functional objects or, the more things change, the more they are the same
ACM SIGPLAN OOPS Messenger
Caching intermediate results for program improvement
PEPM '95 Proceedings of the 1995 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Static caching for incremental computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Dynamic Programming via Static Incrementalization
Higher-Order and Symbolic Computation
Dynamic Programming via Static Incrementalization
ESOP '99 Proceedings of the 8th European Symposium on Programming Languages and Systems
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Towards adaptive caching for parallel and discrete event simulation
WSC '04 Proceedings of the 36th conference on Winter simulation
Transparent and adaptive computation-block caching for agent-based simulation on a PDES core
Proceedings of the 40th Conference on Winter Simulation
Partial memoization of concurrency and communication
Proceedings of the 14th ACM SIGPLAN international conference on Functional programming
JuliusC: a practical approach for the analysis of divide-and-conquer algorithms
LCPC'04 Proceedings of the 17th international conference on Languages and Compilers for High Performance Computing
Hi-index | 0.00 |
Function caching is the technique of remembering previous function calls and avoiding the cost of recomputing them. Function caching provides a simple way of implementing dynamic programming algorithms and can provide a facility for incremental computation. Previous discussions of function caching have generally relied on the user to purge items from the function cache or have proposed a strategy such as least-recently-used without any analysis of the appropriateness of that strategy. We describe a formal model that allows us to describe the potential of a function cache and use that model to develop a practical cache replacement strategy that performs substantially better than currently used strategies. Benchmarks show that in use in an incremental theorem prover, our caching strategy produces almost a factor of four improvement in running time over a system running without function caching and almost a factor of two improvement in running time over a system using a standard cache replacement strategy.