언어/C#
성능 측정 - DotnetBenchmark 퀵세팅
tsyang
2025. 3. 11. 01:00
DotnetBenchmark 프로젝트에 설치하기
- 프로젝트 폴더 (csproj있는 폴더)에다가 cmd를 켠다.
- 다음을 입력한다 'dotnet add package BenchmarkDotNet'
DotnetBenchmark 사용하기
- Build Configuration을 Release모드로 바꿔준다.
- Test할 메서드에 [Benchmark]어트리뷰트를 달아준다.
- 메모리 사용량도 측정하고 싶다면 MemoryDiagnoser도 달아준다.
[MemoryDiagnoser] public class SomeTest { private const int TestSize = 1024; [Benchmark] public void TestAlloc() { var list = new List<int>(); for(int i = 0 ; i < TestSize; ++i) list.Add(i); } [Benchmark] public void TestAllocReserve() { var list = new List<int>(TestSize); for(int i = 0 ; i < TestSize; ++i) list.Add(i); } }
- BenchmarkRunner.Run<T>()로 테스트를 수행한다. T는 테스트가 담긴 클래스이다.
public class Program { public static void Main(string[] args) { var summary = BenchmarkRunner.Run<SomeTest>(); } }
실행속도의 평균과 표준편차, 메디안까지 알려준다.
메모리 분석을 켜면 할당된 힙 크기와 각 제네레이션별로 GC가 평균 몇번 일어났는지도 알려준다.
오류 대응
Dotnet SDK도 깔고
Dotnet Runtime도 깔자
https://dotnet.microsoft.com/ko-kr/download/dotnet/8.0
.NET 8.0 다운로드(Linux, macOS 및 Windows)
Linux, macOS 및 Windows용 .NET 8.0 다운로드. .NET은 다양한 유형의 애플리케이션을 빌드하기 위한 무료 크로스 플랫폼 오픈 소스 개발자 플랫폼입니다.
dotnet.microsoft.com
앤간하면 된다.