Bencher로 커스텀 벤치마크를 추적하는 방법
Bencher는 기본적으로 가장 인기 있는 벤치마킹 하네스를 지원하며, 새로운 어댑터에 대한 제안도 항상 환영합니다. 그러나 기성 벤치마킹 하네스가 필요에 맞지 않는 상황이 발생할 수 있어, 사용자 정의 벤치마킹 하네스를 만들 필요가 있을 수 있습니다. 운 좋게도, Bencher는 사용자 정의 벤치마킹 하네스 사용도 지원합니다. 사용자 정의 벤치마크 하네스를 Bencher와 통합하는 가장 쉬운 방법은 Bencher Metric Format (BMF) JSON을 출력하는 것입니다.
BMF JSON의 예시입니다:
이 예시에서 benchmark_name
키는 벤치마크의 이름을 의미합니다.
벤치마크 이름은 최대 1024자까지의 비어 있지 않은 문자열일 수 있습니다.
benchmark_name
객체는 여러 측정 이름, 슬러그, 또는 UUID를 키로 포함할 수 있습니다.
지정된 값이 이름이나 슬러그이고 해당 측정이 아직 존재하지 않는 경우, 자동으로 생성됩니다.
하지만, 지정된 값이 UUID인 경우 해당 측정이 이미 존재해야 합니다.
이 예시에서, latency
는 기본 제공 Latency 측정의 슬러그입니다.
기본적으로 각 프로젝트는 Latency(예: latency
)와 Throughput(예: throughput
) 측정을 가지고 있으며,
이는 각각 나노초(ns)
와 초당 연산(ops/s)
으로 측정됩니다.
측정 객체는 최대 세 개의 값이 있는 메트릭을 포함합니다:
value
, lower_value
, upper_value
.
lower_value
와 upper_value
값은 선택 사항입니다.
이 예시에서, latency
측정 객체는 다음과 같은 값을 포함합니다:
value
값은88.0
lower_value
값은87.42
upper_value
값은88.88
만약 ./run/my/benchmarks.sh
에 위치한 스크립트가 벤치마크를 실행하고 그 결과를 BMF JSON으로 표준 출력에 출력했다면,
다음 명령어를 이용하여
bencher run
및 the json
어댑터을 사용하여 추적할 수 있습니다:
만약 여러분의 결과가 results.json
이라는 파일에 저장되어 있다면, 파일 경로를 지정하기 위해 --file
옵션을 사용할 수 있습니다.
이것은 벤치마크 명령어가 있는 경우와 없는 경우 모두에서 작동합니다.
벤치마크 명령어가 있는 경우:
벤치마크 명령어가 없는 경우:
🐰 축하합니다! 커스텀 벤치마크를 추적하는 방법을 배웠습니다! 🎉