Hva er Memoization?

Memoization er en teknikk som brukes i dataprogrammering hvor et program "husker" resultatet av et beregningsfullt dyrt funksjonsanrop ved å lagre det i et cache. Hvis funksjonen kalles senere ved hjelp av de samme inngangene, lastes resultatet fra hurtigbufferen i stedet for å bli omregnet, og sparer CPU-ressurser.

I noen tilfeller kan memoering gi en annen fordel enn hastighet. Et eksempel er gjensidig rekursjon, hvor to matematiske objekter er definert i forhold til hverandre. Memoisering kan gjøre det mulig å beregne gjensidig rekursjonsoperasjoner, men ikke nødvendigvis raskere.

I noen logiske programmeringsspråk kan memoisering refereres til som tabulering fordi det brukes som en teknikk for å fylle opp et oppslagstabell.

Funksjonsanrop, Programmeringsbetingelser