프로젝트 소개

Scalene은 Python용 고정밀 프로파일러로, CPU, GPU 및 메모리 사용량 전반에 걸친 성능 병목 현상을 식별하는 데 특화되어 있습니다. 많은 다른 프로파일러와 달리 샘플링 방식을 사용하여 낮은 오버헤드(일반적으로 10-20%)를 유지하면서도 세세한 라인 단위 보고를 제공합니다. 주요 기능은 다음과 같습니다: - CPU 프로파일링: Python 코드, 네이티브 코드(라이브러리), 시스템 시간(I/O)에서 각각 소모된 시간을 구분합니다. - 메모리 프로파일링: 라인별 메모리 증가를 추적하고, 잠재적 메모리 누수를 식별하며, Python과 네이티브 경계 간 복사량을 모니터링합니다. - GPU 프로파일링: NVIDIA 기반 시스템의 GPU 실행 시간을 보고합니다. - Async 프로파일링: 'await' 대기 시간을 특정 라인에 할당하고 동시 코루틴 수를 추적합니다. - AI 기반 최적화: 프로파일링된 비효율성에 근거해 코드 최적화 방안을 제시하기 위해 OpenAI, Amazon Bedrock, Azure, Ollama 등 AI 제공업체와 통합됩니다. - 고급 시각화: 콜 스택, 메모리 가중 화염 차트, GC/I/O/GIL 활동을 보여주는 월클록 타이머라인을 갖춘 웹 기반 GUI를 제공합니다. Scalene은 명령줄 인터페이스, Visual Studio Code 확장 프로그램, Jupyter 노트북 매직 커맨드를 비롯한 다양한 통합 방법을 지원합니다. 또한 free-threaded Python(3.13t / 3.14t)도 지원합니다.