Repolode
joerick

joerick/pyinstrument

코드가 어디서 시간을 쓰는지 콘솔, HTML 등으로 보여주는 Python 호출 스택 프로파일러입니다.

스타
8,026
포크
302
열린 이슈
32
마지막 커밋
5일 전

어떤 프로젝트인가요?

Pyinstrument는 Python용 통계 프로파일러입니다. 프로그램이 실행되는 동안 호출 스택을 샘플링한 뒤, 경과 시간의 대부분을 차지하는 함수가 무엇인지 보고하므로 코드에서 가장 느린 부분을 최적화하는 데 집중할 수 있습니다.

명령줄 모드(`pyinstrument script.py`), `with` 블록이나 데코레이터로 특정 코드 구간을 프로파일링하는 Python API, 그리고 콘솔 텍스트, 인터랙티브 HTML, JSON, pstats, speedscope 파일용 렌더러를 제공합니다. 또한 async 코드를 지원해 코루틴 내부에서 대기하는 데 걸린 시간을 보여주며, Django 미들웨어, IPython/Jupyter 매직 명령, FastAPI 및 aiohttp 예제도 포함합니다.

기본적으로 라이브러리 코드의 프레임은 숨기고 자체 애플리케이션 코드를 강조해, 직접 제어할 수 있는 부분에 집중할 수 있도록 합니다.

핵심 기능

  • 01낮은 오버헤드로 호출 스택을 샘플링하고 함수별 소요 시간을 보고합니다.
  • 02콘솔, 인터랙티브 HTML, JSON, pstats, speedscope 출력 형식을 지원합니다.
  • 03async 코드의 프로파일링을 지원하며 대기 시간을 올바른 호출에 반영합니다.
  • 04명령줄에서 스크립트 전체를 프로파일링하거나 `with` 구문 또는 데코레이터로 특정 블록을 프로파일링할 수 있습니다.
  • 05Django 미들웨어 및 IPython/Jupyter 매직 명령과 연동됩니다.
  • 06기본적으로 라이브러리 프레임을 숨겨 애플리케이션 코드가 두드러지게 표시됩니다.

활용 사례

  • 실행 시간이 오래 걸리는 Python 스크립트에서 느린 함수 찾기.
  • Django 뷰나 미들웨어를 프로파일링해 요청 처리 시간이 어디에 쓰이는지 확인하기.
  • I/O를 기다리는 데 시간이 걸리는 느린 async 코드 진단하기.
  • Jupyter에서 노트북 셀의 성능을 바로 살펴보기.

빠른 시작

  1. 1

    PyPI에서 pyinstrument 설치하기

    pip install pyinstrument
  2. 2

    명령줄에서 스크립트 프로파일링하기

    pyinstrument script.py

사용 전 알아둘 점

  • README에는 타이밍 관련 시스템 호출이 느려 Docker 컨테이너 내부에서 프로파일링하면 이상한 결과가 나올 수 있다고 안내되어 있습니다.
  • pyinstrument로 실행한 스크립트에서 클래스를 피클링하면 `__main__` 직렬화 오류가 발생할 수 있습니다.

포함된 컬렉션

토픽

자주 묻는 질문

pyinstrument은(는) 무엇인가요?
코드가 어디서 시간을 쓰는지 콘솔, HTML 등으로 보여주는 Python 호출 스택 프로파일러입니다. Pyinstrument는 Python용 통계 프로파일러입니다. 프로그램이 실행되는 동안 호출 스택을 샘플링한 뒤, 경과 시간의 대부분을 차지하는 함수가 무엇인지 보고하므로 코드에서 가장 느린 부분을 최적화하는 데 집중할 수 있습니다.
pyinstrument은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
pyinstrument은(는) BSD-3-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
pyinstrument은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. pyinstrument의 마지막 커밋은 2026년 11월 1일입니다.
pyinstrument은(는) 어디에 사용할 수 있나요?
실행 시간이 오래 걸리는 Python 스크립트에서 느린 함수 찾기. Django 뷰나 미들웨어를 프로파일링해 요청 처리 시간이 어디에 쓰이는지 확인하기. I/O를 기다리는 데 시간이 걸리는 느린 async 코드 진단하기. Jupyter에서 노트북 셀의 성능을 바로 살펴보기.
pyinstrument는 어떻게 설치하나요?
PyPI에서 pyinstrument 설치하기: pip install pyinstrument 명령줄에서 스크립트 프로파일링하기: pyinstrument script.py
pyinstrument은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/joerick/pyinstrument

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트