함수와 입력별 측정
측정할 함수를 등록하고 여러 인자 값을 지정해 입력 크기에 따른 비용을 비교할 수 있다. 기본 검사 실행기 대신 벤치마크 실행기를 사용하도록 구성한다. 같은 함수라도 입력에 따라 실행 경로가 달라질 수 있으므로 대표 사례와 경계 사례를 나눠 측정한다.
하나의 숫자보다 분포 보기
가장 빠른 값과 느린 값, 중앙값과 평균 및 표본 정보를 함께 표시한다. 단 한 번의 실행 시간은 운영체제 작업이나 캐시 상태에 영향을 받을 수 있어 반복 측정의 조건을 맞춘다. 처리량 카운터와 메모리 할당 관찰 기능도 있지만 각 지표는 다른 비용을 보여 주므로 목적에 맞게 해석한다.
검사 모드와 성능 측정
벤치마크 함수를 한 번씩 실행해 패닉 여부를 확인하는 모드를 제공한다. 이 실행은 성능을 측정하는 과정과 구분된다. 함수가 실행되었다는 사실만으로 정확한 결과를 보장하지도 않는다. 성능 비교에서는 빌드 옵션과 장비 및 입력을 맞추고 컴파일러가 측정 대상을 불필요한 계산으로 제거하지 않았는지도 고려한다.
관련 문서
Criterion Rust 벤치마크 / BenchmarkDotNet / Cargo-llvm-cov / Nextest