개발 2

[Python] FastAPI 성능 최적화

1. FastAPI 란?FastAPI는 Python을 기반으로 한 웹 프레임워크로, 성능, 사용성 그리고 Python 기능을 활용할 수 있다는 측면에서 장점이 있다. 특히, Python 기반의 웹 프레임워크라는 것은 Python 이 친숙한 AI 개발자가 모델 서빙 시 사용할 백엔드 프레임워크로 사용하기 매우 적합하다. 실제로 모델 개발 후 마이크로 서비스 형태로 서빙 시 FastAPI 를 매우 자주 사용하고 있으며, 아래와 같은 여러가지 장점 때문에 pydantic 과 함께 점점 더 사용 빈도가 증가하고 있다.1.1. 장점은?성능: FastAPI 는 starlette 과 pydantic 을 기반으로 구축되어 좋은 성능을 낼 수 있는데, 기본적으로 async 를 지원한다. 동시 요청을 효율적으로 처리할 수..

개발 2024.10.05

[Python] cache 데코레이터

python 3.9 버전부터 functools 모듈에서 제공하는 @cache 데코레이터는 개발 시 자주 사용되는 데코레이터 중 하나이며, 나 역시 자주 사용하고 있다. 쓰다 보니 정확하게 이해하지 못하고 쓰는 경우도 있는 것 같아 정리하려고 한다.1. @cache 데코레이터@cache 데코레이터는 기본적으로 함수의 인자를 가지고 메모이제이션(Memoization) 기법을 사용하여 캐싱하는 방식이다. 즉, 함수의 인자가 이전에 입력으로 들어온 적이 없으면 계산하고, 한 번 계산된 후에는 그 결과를 저장해 두어 동일한 입력이 들어왔을 때 캐시된 결과를 반환한다. 데코레이터이기 때문에 함수 위에 붙여서 간단하게 적용할 수 있다.1.1. 구현 시 주의할 점Hashable: @cache 데코레이터는 함수의 인자를..

개발 2024.10.03