파이썬의 캐시! | Atul Kushwaha


Python의 functools 모듈은 함수형 프로그래밍을 위한 강력한 도구를 제공합니다. 이 중 cache, cached_property, lru_cache는 성능 최적화를 위해 계산 결과를 저장하는 기능을 합니다.

  1. cache: 함수 결과를 메모이제이션하여 동일한 입력에 대해 재계산을 피합니다. 순수 함수에 적합하며, 메모리가 허용하는 한 무제한으로 저장합니다.

  2. cached_property: 클래스 메서드를 한 번만 계산하고 인스턴스 속성으로 캐시합니다. 계산이 비싼 클래스 속성에 유용하며, 이후 호출 시 캐시된 값을 반환합니다.

  3. lru_cache: LRU(Least Recently Used) 알고리즘을 사용하여 지정된 크기만큼 결과를 캐시합니다. 재귀 알고리즘이나 반복 호출이 많은 함수에 적합하며, cache_info()로 캐시 상태를 확인할 수 있습니다.

이 도구들은 코드의 효율성을 높이고, 불필요한 계산을 줄이는 데 큰 도움이 됩니다.

1개의 좋아요