Memoization

Part of speech: noun

Definitions

  1. A technique in computing that stores previously computed results to optimize performance by avoiding repeated calculations; the process of caching function outputs for efficient retrieval; a method of saving intermediate data to improve algorithm speed
  2. An approach in programming where the outputs of functions are saved after the first calculation to reduce processing time on subsequent calls; storing results of expensive function calls to prevent redundant work; caching computed values for faster access
  3. A strategy used in software development involving recording computed values to reuse in later computations, thus enhancing efficiency; the act of remembering prior computations to eliminate duplicate processing; maintaining a cache of results to accelerate function execution

Etymology: Donald Michie, a British researcher working on machine learning in the 1960s, coined "memo function" for a function that records its own past results. The coinage was a deliberate contraction of "memorandum," the note one writes to remember something, so the term describes a routine that keeps a memo of what it has already worked out. "Memoization" is the noun formed from that idea, built from "memo" with the suffix "-ization," which turns a verb-like action into the name of the process. The core of the idea is that a function returns the same answer for the same input, so storing that answer lets the program skip the work the next time the same input appears. The word is therefore a fitting label for a technique that is, at heart, a kind of note-taking for the machine.

Synonyms: caching, memorization