위키득계정 ↗
기술

Yappi

Yappi기술
주요 대상
Python 프로그램
구현 언어
C
시간 기준
CPU 시간과 전체 경과 시간
실행 모델
스레드와 asyncio 및 gevent
Yappi는 여러 스레드와 비동기 실행을 고려해 Python 함수의 실행 비용을 추적하는 프로파일러다. CPU 시간이나 전체 경과 시간을 선택하고 함수 및 스레드별 결과를 수집해 정렬하고 비교할 수 있다.

동시 실행을 고려한 추적

여러 스레드가 있는 응용과 asyncio 코루틴 및 gevent 기반 실행을 지원한다. 함수 호출의 시간과 횟수를 실행 맥락에 맞춰 조사하도록 한다. 긴 실행 중에도 관측을 시작하거나 멈추고 결과를 얻을 수 있다.

측정 시간과 결과의 구분

CPU를 실제로 사용한 시간을 보거나 대기 등을 포함한 전체 경과 시간을 볼 수 있다. 스레드나 함수 및 모듈 조건으로 결과를 걸러 조사 범위를 좁힌다. 서로 다른 시간 기준을 구분하면 계산 비용과 지연을 해석하는 데 도움이 된다.

기록의 집계와 도구 연계

여러 세션의 프로파일 결과를 합치고 정렬할 수 있다. 결과는 Callgrind와 pstat 형식 등으로 저장해 다른 분석 도구와 연결한다. 태그와 필터를 이용해 여러 작업의 결과를 구분하는 기능도 제공한다.

관련 문서

Pyinstrument / py-spy / Scalene 프로파일러 / Callgrind / Python / 프로파일링