Diyelim ki fn(x)
en önemli faktörlerin bir listesini döndürmek gibi pahalı bir şey yapan saf bir işlev x
.
Ve diyelim ki aynı fonksiyonun hafızaya alınmış bir versiyonunu yaptık memoizedFn(x)
. Belirli bir giriş için her zaman aynı sonucu döndürür, ancak performansı artırmak için önceki sonuçların özel bir önbelleğini tutar.
Resmen konuşmak, memoizedFn(x)
saf olarak kabul edilir?
Yoksa FP tartışmalarında böyle bir fonksiyona atıfta bulunmak için kullanılan başka bir ad veya nitelendirici terim var mı? (diğer bir deyişle, sonraki aramaların hesaplama karmaşıklığını etkileyebilecek ancak dönüş değerlerini etkilemeyebilecek yan etkileri olan bir işlev.)
funcx(){sleep(cached_time--); return 0;}
her seferinde aynı val değerini döndürür, ancak farklı performans gösterir