.NET용 라이브러리로, C# 메서드를 자동 워밍업과 통계 및 결과 보고서를 갖춘 재현 가능한 벤치마크로 바꿔 줍니다.
ionelmc/pytest-benchmark
pytest 테스트에서 Python 함수의 실행 시간을 측정하는 benchmark fixture를 제공하는 pytest 플러그인입니다.
- 스타
- 1,459
- 포크
- 139
- 열린 이슈
- 125
- 마지막 커밋
- 6일 전
어떤 프로젝트인가요?
pytest-benchmark는 pytest에 benchmark fixture를 추가합니다. 함수을 fixture에 전달하면 선택한 타이머에 맞춰 실행 횟수를 보정하고, 여러 라운드로 나누어 반복 실행한 뒤 pytest 요약 출력에 측정 결과를 표시합니다.
fixture는 위치 인수와 키워드 인수를 모두 받을 수 있으며, pedantic 모드에서는 setup 함수, 반복 횟수, 라운드 수를 직접 제어할 수 있습니다. 이전 실행 결과와 비교할 수 있고, 측정 시간 분포의 히스토그램도 생성할 수 있습니다.
pytest와 통합되므로 벤치마크를 일반 테스트 함수로 작성하고 평소처럼 pytest 명령으로 실행할 수 있습니다. 이 플러그인은 함수 하나를 벤치마크하므로, 더 큰 코드 블록을 측정하려면 함수로 감싸야 합니다.
핵심 기능
- 01pytest 테스트에서 함수 호출 시간을 측정하는 benchmark fixture를 제공합니다.
- 02선택한 타이머에 맞춰 보정된 라운드별로 측정값을 묶습니다.
- 03사용자 지정 setup, 반복 횟수, 라운드 수를 설정할 수 있는 pedantic 모드를 제공합니다.
- 04이전 벤치마크 실행 결과와 비교할 수 있습니다.
- 05측정 결과의 히스토그램을 생성할 수 있습니다.
활용 사례
- 커밋에 따른 Python 함수의 성능 저하를 추적합니다.
- 테스트 스위트에서 동일한 함수의 두 구현을 비교합니다.
- 기존 pytest 작업 흐름을 유지하면서 라이브러리의 핫패스를 측정합니다.
빠른 시작
- 1
PyPI에서 플러그인을 설치하세요
pip install pytest-benchmark
사용 전 알아둘 점
- 단일 함수만 벤치마크하므로, 프로그램 전체나 코드 블록을 벤치마크하려면 래퍼 함수가 필요합니다.
토픽
자주 묻는 질문
- pytest-benchmark은(는) 무엇인가요?
- pytest 테스트에서 Python 함수의 실행 시간을 측정하는 benchmark fixture를 제공하는 pytest 플러그인입니다. pytest-benchmark는 pytest에 benchmark fixture를 추가합니다. 함수을 fixture에 전달하면 선택한 타이머에 맞춰 실행 횟수를 보정하고, 여러 라운드로 나누어 반복 실행한 뒤 pytest 요약 출력에 측정 결과를 표시합니다.
- pytest-benchmark은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- pytest-benchmark은(는) BSD-2-Clause 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- pytest-benchmark은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. pytest-benchmark의 마지막 커밋은 2026년 11월 1일입니다.
- pytest-benchmark은(는) 어디에 사용할 수 있나요?
- 커밋에 따른 Python 함수의 성능 저하를 추적합니다. 테스트 스위트에서 동일한 함수의 두 구현을 비교합니다. 기존 pytest 작업 흐름을 유지하면서 라이브러리의 핫패스를 측정합니다.
- pytest-benchmark는 어떻게 설치하나요?
- PyPI에서 플러그인을 설치하세요: pip install pytest-benchmark
- pytest-benchmark은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/ionelmc/pytest-benchmark
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
Python 함수의 각 소스 코드 줄이 실행되는 데 걸리는 시간을 보여주는 줄 단위 프로파일러입니다.
웹 애플리케이션과 기타 서비스의 부하 및 성능을 측정하는 오픈 소스 Java 애플리케이션입니다.
고성능 요청 처리를 위해 fasthttp를 기반으로 만든 Go 언어의 크로스 플랫폼 HTTP(S) 벤치마킹 및 부하 테스트 CLI 도구입니다.
동시성, 요청률 제한, 출력 형식을 설정해 gRPC 서비스를 벤치마킹하고 부하 테스트하는 CLI 도구입니다.
Elasticsearch 클러스터를 구성하고 벤치마크를 실행해 결과를 비교하는 매크로벤치마킹 프레임워크입니다.