Katakanlah fn(x)
adalah fungsi murni yang melakukan sesuatu yang mahal, seperti mengembalikan daftar faktor utama x
.
Dan katakanlah kita membuat versi memoised dari fungsi yang sama yang disebut memoizedFn(x)
. Selalu mengembalikan hasil yang sama untuk input yang diberikan, tetapi tetap menyimpan cache pribadi dari hasil sebelumnya untuk meningkatkan kinerja.
Secara formal, memoizedFn(x)
dianggap murni?
Atau adakah nama lain atau istilah kualifikasi yang digunakan untuk merujuk fungsi semacam itu dalam diskusi KB? (Yaitu fungsi dengan efek samping yang dapat mempengaruhi kompleksitas komputasi panggilan berikutnya tetapi yang mungkin tidak mempengaruhi nilai kembali.)
funcx(){sleep(cached_time--); return 0;}
mengembalikan val yang sama setiap kali, tetapi akan tampil berbeda