24 de Março
Memoization
O que memoization significa, quando guardar resultado evita recalcular tudo e por que nem todo cache local merece esse nome.
Andrews Ribeiro
Founder & Engineer
Atualizado em 24 de Março
O que é
Memoization é guardar o resultado de uma computação para não recalcular a mesma coisa depois.
Se a entrada se repete, a resposta já está pronta.
Quando usar
Ela aparece muito quando:
- a função é pura
- o cálculo é caro
- as mesmas entradas voltam várias vezes
Recursão com subproblema repetido é um caso clássico.
Erro comum
O erro clássico é chamar qualquer cache de memoization.
O nome faz mais sentido quando você guarda resultado a partir da entrada de uma função ou subproblema.
Pergunta melhor
Antes de aplicar, vale perguntar:
- a mesma entrada volta mesmo?
- o custo de guardar compensa o custo de recalcular?
- a resposta depende só da entrada ou também de estado externo?
Compartilhar esta página
Copie o link manualmente no campo abaixo.