增量计算

✍ dations ◷ 2025-11-23 01:47:57 #计算机编程,程序分析

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

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

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

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

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

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

相关

  • 荷兰榆树病荷兰榆树病是一种由子囊菌导致的疾病。它由树皮甲虫传播,会影响榆属和榉属植物输水导管的功能,导致其枯萎及死亡。它从亚洲传播到美洲、欧洲及新西兰,导致之后这些地方没有抵抗
  • 叶绿素 b叶绿素b是叶绿素的其中一种,常作为光合作用的天线色素吸收光能。叶绿素b比叶绿素a多一个羰基,因此更容易溶于极性溶剂。它的颜色是黄绿色,主要吸收蓝紫光。
  • 染色剂染色是用于增强显微图像对比度的一项辅助技术。辅以不同类型的显微镜,染色和染料常在生物学和药学领域被用于提高生物组织的可见度。染色常被用于观察大块组织(如肌肉组织和结
  • 西方战线西方战线是形容整个一战或二战中位于德国以西、协约国(一战时期)或同盟国(二战时期)以东边境的军事争夺。这一种“武装边境争夺”的形式在整个战时被称为“战线”。在两次大
  • 应用程序接口与因特网相连的端系统提供了一个应用程序接口(英语:Application Programming Interface,缩写:API;又称为应用程序编程接口)是软件系统不同组成部分衔接的约定。 API规定了运行在一
  • 核心危机 -最终幻想VII-《核心危机 -最终幻想VII-》(日语:クライシス コア -ファイナルファンタジーVII-,英语:Crisis Core: Final Fantasy VII)是史克威尔开发并发行于PlayStation Portable平台上的动
  • 3-羟基丙酸3-羟基丙酸(英语:3-Hydroxypropionic acid)是一种分子式为C3H6O3的β-羟基羧酸,其酸度系数pKa为4.5。3-羟基丙酸易溶于水,可溶于乙醇和二乙醚,在蒸馏后会脱水形成丙烯酸。3-羟基丙
  • 偶像大师CD列表以下是《偶像大师》系列(PROJECT IM@S)所推出的CD的列表,包括偶像大师、偶像大师 灰姑娘女孩、偶像大师 百万现场、偶像大师 SideM、偶像大师.KR和偶像大师 闪耀色彩这六个子作
  • 米歇尔·克拉托赫维尔米歇尔·法兰克·克拉托赫维尔(Michel Frank Kratochvil ,1979年4月7日-)是一位瑞士职业网球运动员,1997年转职业,2008年宣布退役。
  • Arch LinuxArch Linux(或 Arch /ˈɑːrtʃ/))是一款基于 x86-64 架构的 Linux发行版 。系统主要由自由和开源软件组成,支持社区参与。系统设计以 KISS原则(保持简单和愚蠢)为总体指导原则,