함수형 프로그래밍-지연 평가
지연 평가는 값이 필요할 때까지 표현식의 평가를 유지하는 평가 전략입니다. 반복적 인 평가를 피합니다.Haskell Lazy Evaluation을 기반으로하는 이러한 함수형 프로그래밍 언어의 좋은 예입니다.
Lazy 평가는 디스크에서 필요한 페이지 만로드하여 성능을 향상시키기 위해 Unix 맵 함수에서 사용됩니다. 나머지 페이지에는 메모리가 할당되지 않습니다.
Lazy Evaluation − 장점
이를 통해 언어 런타임은 표현식의 최종 결과에 직접 연결되지 않은 하위 표현식을 삭제할 수 있습니다.
임시 계산 및 조건을 삭제하여 알고리즘의 시간 복잡성을 줄입니다.
이를 통해 프로그래머는 데이터 구조의 구성 요소를 초기화 한 후 순환 종속성이없는 한 순서없이 액세스 할 수 있습니다.
자주 액세스하지 않는 데이터를로드하는 데 가장 적합합니다.
게으른 평가-단점
최종 결과에서 필요할 때까지 언어 런타임이 하위 표현식 평가를 유지하도록합니다. thunks (지연된 개체).
때로는 알고리즘의 공간 복잡성을 증가시킵니다.
실행하기 전에 표현의 덩어리가 포함되어 있기 때문에 성능을 찾기가 매우 어렵습니다.
Python을 사용한 지연 평가
그만큼 rangePython의 메소드는 Lazy Evaluation의 개념을 따릅니다. 더 큰 범위의 실행 시간을 절약하고 한 번에 모든 값을 요구하지 않으므로 메모리 소비도 절약됩니다. 다음 예를 살펴보십시오.
r = range(10)
print(r)
range(0, 10)
print(r[3])
다음과 같은 출력이 생성됩니다.
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
3