fn(x)
의 주요 요소 목록을 반환하는 것과 같이 값 비싼 것을 수행하는 순수한 함수 라고 가정 해 봅시다 x
.
그리고라는 동일한 함수의 메모 버전을 만든다고 가정 해 봅시다 memoizedFn(x)
. 주어진 입력에 대해 항상 동일한 결과를 반환하지만 성능을 향상시키기 위해 이전 결과의 개인 캐시를 유지합니다.
공식적으로 말하면 memoizedFn(x)
순수한 것으로 간주됩니까?
아니면 FP 토론에서 그러한 기능을 나타내는 데 사용되는 다른 이름이나 적격 한 용어가 있습니까? (즉, 후속 호출의 계산 복잡성에는 영향을 줄 수 있지만 반환 값에는 영향을 미치지 않는 부작용이있는 함수)
funcx(){sleep(cached_time--); return 0;}
매번 같은 val을 반환하지만 다르게 수행됩니다