Efficiency by incrementalization: an introduction

被引:21
作者
Liu, Yanhong A. [1 ]
机构
[1] Computer Science Department, 215 Lindley Hall, Indiana University, Bloomington, IN 47405, United States
基金
美国国家科学基金会;
关键词
Algorithms - Cache memory - Computer programming - Computer programming languages - Computer software - Iterative methods - Linguistics - Program compilers;
D O I
10.1023/A:1026547031739
中图分类号
学科分类号
摘要
Incremental computation takes advantage of repeated computations on inputs that differ slightly from one another, computing each output efficiently by exploiting the previous output. This paper gives an overview of a general and systematic approach to incrementalization: given a program f and an operation ⊕, the approach yields an incremental program that computes f(x ⊕ y) efficiently by using the result of f(x), the intermediate results of f(x), and auxiliary information of f(x) that can be inexpensively maintained. Since every non-trivial computation proceeds by iteration or recursion, the approach can be used for achieving efficient computation by computing each iteration incrementally using an appropriate incremental program. This approach has applications in interactive systems, optimizing compilers, transformational programming, and many other areas, where problems were previously solved in less general and systematic ways. This paper also describes the design and implementation of CACHET, a prototype system for incrementalization.
引用
收藏
相关论文
empty
未找到相关数据