위키득계정 ↗
기술

Divan

Divan기술
분야
Rust 벤치마크
등록 방식
bench 속성
실행 연결
Cargo bench
측정 정보
시간 통계와 처리량 등
Divan은 Rust 프로젝트의 함수 실행 성능을 측정하는 벤치마크 라이브러리다. 속성으로 측정 대상을 등록하고 입력 사례별 실행 시간을 반복 수집해 통계로 보여 준다.

함수와 입력별 측정

측정할 함수를 등록하고 여러 인자 값을 지정해 입력 크기에 따른 비용을 비교할 수 있다. 기본 검사 실행기 대신 벤치마크 실행기를 사용하도록 구성한다. 같은 함수라도 입력에 따라 실행 경로가 달라질 수 있으므로 대표 사례와 경계 사례를 나눠 측정한다.

하나의 숫자보다 분포 보기

가장 빠른 값과 느린 값, 중앙값과 평균 및 표본 정보를 함께 표시한다. 단 한 번의 실행 시간은 운영체제 작업이나 캐시 상태에 영향을 받을 수 있어 반복 측정의 조건을 맞춘다. 처리량 카운터와 메모리 할당 관찰 기능도 있지만 각 지표는 다른 비용을 보여 주므로 목적에 맞게 해석한다.

검사 모드와 성능 측정

벤치마크 함수를 한 번씩 실행해 패닉 여부를 확인하는 모드를 제공한다. 이 실행은 성능을 측정하는 과정과 구분된다. 함수가 실행되었다는 사실만으로 정확한 결과를 보장하지도 않는다. 성능 비교에서는 빌드 옵션과 장비 및 입력을 맞추고 컴파일러가 측정 대상을 불필요한 계산으로 제거하지 않았는지도 고려한다.

관련 문서

Criterion Rust 벤치마크 / BenchmarkDotNet / Cargo-llvm-cov / Nextest