glossárioPatterns
$cat~/glossario/memoization.md

Memoization

Padrões & Qualidade

Cache de resultados de função pura para evitar recomputação.

memoization.mdmarkdown
01

seção

Explicação

Memoization — Cache de resultados de função pura para evitar recomputação.

Cache resultado função pura por args — trade memory for time. Fibonacci classic.

LRU cap cache size; WeakMap if arg object identity.

02

seção

Exemplo

snippetJavaScript
function memoize(fn) {  const cache = new Map();  return (...args) => {    const key = JSON.stringify(args);    if (cache.has(key)) return cache.get(key);    const v = fn(...args);    cache.set(key, v);    return v;  };}
03

seção

Modo de uso

  • Expensive pure compute

  • React useMemo selector

  • Dynamic programming table

04

seção

Armadilhas comuns

  • Memo impure stale wrong

  • Unbounded cache memory

05

seção

Termos relacionados