Memoization
Part of speech: noun
Definitions
- 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
- 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
- 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