Diciamo che fn(x)
è una funzione pura che fa qualcosa di costoso, come restituire un elenco dei fattori primi di x
.
E diciamo che creiamo una versione memorizzata della stessa funzione chiamata memoizedFn(x)
. Restituisce sempre lo stesso risultato per un determinato input, ma mantiene una cache privata dei risultati precedenti per migliorare le prestazioni.
Formalmente parlando, è memoizedFn(x)
considerato puro?
Oppure c'è qualche altro nome o termine qualificativo usato per riferirsi a tale funzione nelle discussioni sul PQ? (ovvero una funzione con effetti collaterali che può influire sulla complessità computazionale delle chiamate successive ma che non può influire sui valori di ritorno.)
funcx(){sleep(cached_time--); return 0;}
restituisce la stessa val ogni volta, ma si esibirà diversamente