In
computer science, a
lookup table is an
array that replaces runtime computation with a simpler array indexing operation. The savings in terms of processing time can be significant, since retrieving a value from memory is often faster than undergoing an 'expensive' computation or
input/output operation. The tables may be precalculated and stored in
static program storage, calculated (or
"pre-fetched") as part of a program's initialization phase (
memoization), or even stored in hardware in application-specific platforms. Lookup tables are also used extensively to validate input values by matching against a list of valid (or invalid) items in an array and, in some programming languages, may include pointer functions (or offsets to labels) to process the matching input.