增量计算

✍ dations ◷ 2025-11-29 12:44:32 #计算机编程,程序分析

增量计算是一种软件功能 。当一部分的数据产生了变化,就仅对该产生变化的部分进行计算和更新,以节省计算时间。 相比于简单地重复计算完整的输出内容,增量计算能够显著地节省计算时间。 比如,电子表格会在实现重计算功能时使用增量计算,只重新计算并更新那些含有公式且被直接或间接地改变了的单元格。

用于帮助开发者自动实现增量计算的工具,可以被看作是帮助程序优化的程序分析工具。

增量计算在技术实现上可以大致分为两种类型:

试图从现有的程序P中派生出一个增量计算程序。例如可以采取进行程序的重新设计、程序重构的手段,或者使用工具自动生成增量计算程序。这种程序的转换需要发生在输入或是输入的变化量出现之前。

记录运行中的程序P在接受某个特定输入(l1)时的信息。当这P接受另一个输入(l2)时,把这些信息用于计算并更新输出结果(从O1变化到O2)。图示中显示了:程序P;构成增量计算程序的核心的变化量计算函数ΔP;以及两组输入和输出(I1,O1和I2,O2)。

某一些实现增量计算的方法是只适用于特定程序的专用实现方法,但也有一些可以普遍适用于任何程序的通用方法。专用实现方法需要程序员特别指定用于保存未修改子计算的算法和数据结构。通用实现方法则会使用编程语言特性、编译器功能或者一些算法来给非增量计算程序赋予增量计算的行为。

相关

  • 郝华德·洛斯克郝华德洛斯克,(Howard A. Rusk,1901年4月9日-1989年11月4日),国际公认的现代复健医学之父。洛斯克医师1923年毕业于密苏里大学,1925年毕业于宾州大学医学院。
  • 近邻结合法近邻相接法(neighbor-joining method)是一种研究DNA而建立亲缘关系的方法,在计算生物学、生物信息学、系统生物学、演化生物学与系统发生学中时常使用。在1987年由斋藤成也和根
  • 乳清酸盐乳清酸(英语:Orotic acid,共轭碱作orotate)或嘧啶酸(pyrimidinecarboxylic acid)是一种杂环化合物,也是一种有机酸。乳清酸曾经被误以为是一种维生素B,并被称为vitamin B13,但后来发
  • 机长(英语:Captain),又称正驾驶,是航机内拥有最高指挥权的人。在双人坐的民航机、运输机、轰炸机上,机长的座位位于驾驶舱左侧;在双人坐的战斗机上,机长的座位位于驾驶舱前方;而在双
  • 红龟粿红龟粿,又称红龟糕。客家语称之为红粄或红印粄。为闽南人、潮州人、客家人、广东人等节庆祭祀之糯米制食品,流行于福建、广东、台湾与南洋的印尼、马来西亚、新加坡等地区,状貌
  • 波特兰石波特兰石(Portland stone)是一种产于英国波特兰岛的灰白色石灰石,是侏罗纪提通期形成的岩石。在英国,它是一种常见的建筑材料,自罗马不列颠时期就开始开采,14世纪开始运往伦敦,白金
  • 藤黄科藤黄科(学名:Clusiaceae)又称山竹子科、书带木科,属真双子叶植物金虎尾目,共有14属。叶子通常呈现卵状,对生,花单出且腋生。该科大部分草本、乔木或灌木。在金虎尾目之中,已知泽茶科
  • 1911年世界大赛1911年的世界大赛是由代表美联的费城运动家与代表国联的纽约巨人对垒。运动家队以4胜2败打败巨人,在世界大赛取得二连霸。费城运动家队的三垒手法兰克·贝克获得了本垒打贝克
  • 多尔胡多尔胡或译杜尔胡(爱尔兰语:Dobhar-chú)是爱尔兰传说中的生物或神秘生物,该词可以粗略地译为“水犬”(water hound)。它就像一只狗和一只水獭,尽管偶尔会被描述成半犬半鱼。它生活
  • 里欧·克罗伊特里欧·克罗伊特(Lior Kroyter),以色列男子羽毛球运动员。2014年10月,里欧·克罗伊特与亚历山大·巴斯合作出战以色列夏琐羽毛球国际赛男子双打项目,在决赛中以0-3的成绩(5-11、10-