advanced
Python 비동기 프로그래밍 및 메모리 최적화 리팩토링
동기식 I/O 작업으로 인한 병목 현상을 해결하기 위한 비동기 코드로의 전환과 메모리 누수 방지 전략.
📝 Konten Prompt
다음과 같은 성능 이슈가 있는 Python 코드가 있다고 가정하십시오: 대규모 외부 API 호출로 인한 지연 시간, GIL(Global Interpreter Lock)로 인한 CPU 병목, 대용량 리스트 처리로 인한 메모리 과부하. 이 문제를 해결하기 위해 1) `asyncio`와 `aiohttp`를 활용한 동시성 제어 코드로 작성하십시오. 2) 메모리 사용량을 줄이기 위해 제너레이터(Generator)를 활용한 데이터 스트리밍 방식을 적용하십시오. 3) `cProfile`과 `memory_profiler`를 사용하여 병목 지점을 식별하는 방법과 최적화 전후의 성능 비교 분석 결과를 설명하는 보고서 형식으로 답변하십시오.