위키득계정 ↗
기술

Pytest-benchmark

Pytest-benchmark기술
분류
함수 벤치마크 플러그인
주요 픽스처
benchmark
측정 단위
함수 호출
세부 제어
pedantic 모드
Pytest-benchmark는 함수의 실행 시간을 반복 측정하는 pytest 플러그인이다. 타이머에 맞춰 측정 라운드를 구성하고 결과를 비교해 성능 변화를 살펴본다.

함수 중심의 측정

측정할 함수와 인자를 benchmark 픽스처에 전달한다. 코드 블록이나 전체 프로그램을 재려면 호출 가능한 함수로 감싸야 한다. 아주 짧은 연산에서는 추가 함수 호출 자체의 비용도 측정 결과에 영향을 줄 수 있다.

반복과 준비 조건

기본적인 측정은 타이머에 맞춰 조정한 라운드로 수행한다. 세부 제어 모드에서는 준비 함수와 반복 수, 라운드 수 등을 직접 지정할 수 있다. 매번 바뀌는 데이터나 캐시 상태가 있다면 어떤 상태를 재는지 먼저 정해야 한다.

정확성과 성능

측정 함수의 반환값을 확인해 실행 결과가 올바른지도 검증할 수 있다. 빠르게 끝났다는 사실만으로 같은 작업을 정확히 수행했다고 판단해서는 안 된다. 비교할 때는 입력과 실행 환경, 측정 설정이 같은지도 함께 살펴야 한다.

관련 문서

Pytest-cov / Pytest-timeout / Pytest-xdist / Time-machine