Giả sử fn(x)
là một hàm thuần túy thực hiện một cái gì đó đắt tiền, như trả về một danh sách các yếu tố chính x
.
Và giả sử chúng ta tạo một phiên bản ghi nhớ của cùng chức năng được gọi memoizedFn(x)
. Nó luôn trả về cùng một kết quả cho một đầu vào nhất định, nhưng nó duy trì bộ đệm riêng của các kết quả trước đó để cải thiện hiệu suất.
Chính thức nói, được memoizedFn(x)
coi là thuần túy?
Hoặc có một số tên hoặc thuật ngữ đủ điều kiện khác được sử dụng để đề cập đến một chức năng như vậy trong các cuộc thảo luận về FP? (tức là một hàm có tác dụng phụ có thể ảnh hưởng đến độ phức tạp tính toán của các cuộc gọi tiếp theo nhưng điều đó có thể không ảnh hưởng đến các giá trị trả về.)
funcx(){sleep(cached_time--); return 0;}
trả về cùng một giá trị mỗi lần, nhưng sẽ hoạt động khác nhau