시간을 재는 것 이상의 작업
짧은 코드를 한 번 실행한 시간에는 초기화와 실행 환경의 영향이 크게 섞인다. BenchmarkDotNet은 준비 실행과 반복 측정 등을 관리해 이러한 실험을 체계화한다. 측정할 메서드를 지정하고 입력을 매개변수로 구성하면 여러 조건에서 성능 차이를 살펴볼 수 있다.
비교 조건 맞추기
기준 메서드를 정해 상대적인 차이를 표시하거나 실행 환경을 달리한 작업을 구성할 수 있다. 진단 기능으로 메모리 할당이나 생성된 기계어를 살펴보는 방식도 제공한다. 지원 범위는 진단기와 환경에 따라 다르다. 출력되는 평균만 보지 말고 변동성과 실행 조건을 함께 읽어야 한다.
측정 결과의 해석
도구가 반복 실행을 관리하더라도 실험의 질문까지 정해 주지는 않는다. 서로 다른 일을 하는 메서드를 비교하거나 실제 사용과 동떨어진 입력을 고르면 결론이 잘못될 수 있다. 디버거와 최적화 상태도 결과에 영향을 준다. 작은 코드의 벤치마크 결과는 전체 서비스의 지연 시간이나 처리량과 구분해서 해석한다.