Cos'è la Memoizzazione?

La Memoizzazione è una tecnica utilizzata nella programmazione di computer in cui un programma "memorizza" il risultato di una chiamata di funzione computazionalmente costosa memorizzandola in una cache. Se la funzione viene chiamata in seguito utilizzando gli stessi input, il risultato viene caricato dalla cache anziché essere ricalcolato, risparmiando risorse della CPU.

In alcuni casi, la memoizzazione può dare un beneficio diverso dalla velocità. Un esempio è la ricorsione reciproca, in cui due oggetti matematici sono definiti in termini l'uno dell'altro. La memorizzazione può consentire di calcolare le operazioni di ricorsione reciproca più facilmente, ma non necessariamente più rapidamente.

In alcuni linguaggi logici di programmazione, la memoizzazione può essere definita tabling perché viene utilizzata come tecnica per popolare una tabella di ricerca.

Chiamata di funzione, termini di programmazione