Article · Wikipedia archive · Last revised Aug 2, 2026

Active updating

In computer programming, suppose we have a data item A whose value depends on data item B, i.e., the value of A must be changed after the value of B changes and before the value of A becomes necessary. Active updating is updating A immediately after B changes, while passive updating or lazy updating is updating A immediately before its value is fetched. An example of this distinction is, in the implementation of GUI applications: the list of submenu items may depend on the state of the application; this list may be updated either as soon as the state of the application changes ("active") or only when the menu is invoked ("passive").

Last revised
Aug 2, 2026
Read time
≈ 1 min
Length
257 w
Citations
3
Source

In computer programming, suppose we have a data item A whose value depends on data item B, i.e., the value of A must be changed after the value of B changes and before the value of A becomes necessary. Active updating is updating A immediately after B changes, while passive updating or lazy updating (lazy evaluation) is updating A immediately before its value is fetched. An example of this distinction is, in the implementation of GUI applications: the list of submenu items may depend on the state of the application; this list may be updated either as soon as the state of the application changes ("active") or only when the menu is invoked ("passive").1

Another example is updating a visual display as soon as the underlying data changes, as opposed to clicking the "redraw" button. In this situation active updating may create a problem to deal with: an abrupt change of some part of the display may coincide in time with the saccadic movement of the eye, and the change may go unnoticed by a human observer.2

See also direct updating vs. deferred updating in transaction processing.3

References

References

  1. Active Scripting Newsletter - Issue #58 - November 2004, Dr. Dobb's
  2. in: Human Aspects of Visualization: Second IFIP WG 13.7 Workshop on Human-Computer Interaction and Visualization, HCIV (INTERACT) 2009, Uppsala, Sweden, August 24, 2009, p. 49
  3. C++ Move Semantics for Exception Safety and Optimization in Software Transactional Memory Libraries, In book: Proceedings of the Third International Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems (ICOOOLPS), 2008