[C#] C# 부하 측정 - 벤치마크 닷넷 사용방법
- C#/C# 문법
- 2021. 11. 9. 19:39
참조
- https://github.com/dotnet/BenchmarkDotNet
- https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=41692
소개
- 안녕하세요. C# 을 이용해서 프로젝트를 진행하다 보면, 문득 내가 만든 함수 혹은 로직이 어느정도의 부하를 발생하는지? 알고 싶은 경우가 있습니다.
- 이를 위해, gitHub에 벤치마크 닷넷이라고 해서 매우 똑똑한 개발자 분께서 쉽게 벤치마크 할 수 있는 API를 만드셔서 오늘은 해당 벤치마크 닷넷 사용방법에 대해서 알려 드리려고 합니다.
사용 방법
1. VisualStudio 에서 C# 프로젝트 생성
- 제일 먼저, 벤치마크 닷넷을 테스트할 수 있도록 Visual Studio에서 C# 프로젝트를 생성합니다.
2. BenchmarkDotNet 누겟 설치
도구 -> NuGet 패키지 관리자 -> 솔루션용 NuGet 패키지 관리
에 들어갑니다.BenchmarkDotNet
누겟을 입력하고, 아래의 누겟을 설치합니다.
3. 설치 완료
- 정상적으로 설치가 완료 되었다면, 오른쪽의 참조에
BenchMarkDotNet
이 설치된 것을 확인할 수 있습니다. - 참고로, 제가 만든 C# 프로젝트의 버전은 DotNetCore 3.1 버전으로 만들었습니다.
4. BenchMark 할 테스트 코드 작성하기
- 앞서 만들 C# 프로그램에서 테스트 할 코드를 작성합니다.
using BenchmarkDotNet.Attributes;
using BenchmarkDotNet.Running;
namespace BenchMarkTest
{
class Program
{
static void Main(string[] args)
{
var summary = BenchmarkRunner.Run<Calculator>();
}
}
[MemoryDiagnoser]
public class Calculator
{
private int num1 = 1;
private int num2 = 2;
[Benchmark]
public int Myltiply()
{
return num1 * num2;
}
}
}
5. 테스트 프로젝트 Release 빌드
- BenchMarkDotNet을 사용하려면, 프로젝트는 반드시
Release
상태여야 한다고 합니다. - 만약 디버그 모드이면, 아래와 같은 에러가 발생합니다.
6. 실행 결과
Release
로 변경 후 실행하게 되면, 좀 시간이 지나면 아래와 같이 Summary 가 출력되는 것을 확인할 수 있습니다.
728x90
'C# > C# 문법' 카테고리의 다른 글
[C# 문법] C# 어셈블리 버전 구하는 방법 (0) | 2021.11.14 |
---|---|
[C# 문법] C# Enum 열거형 LINQ 사용하기 (0) | 2021.11.10 |
[C# 문법] ObservableCollection 정렬하기 (0) | 2021.11.01 |
[C# 문법] C# LINQ Select 구문 메서드 방식으로 사용하기 (0) | 2021.10.18 |
[C# 문법] C# 정규표현식 - 일치한 부분 문자열 찾기 (0) | 2021.09.13 |
이 글을 공유하기