[C#] C# 부하 측정 - 벤치마크 닷넷 사용방법

참조



소개

  • 안녕하세요. 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

이 글을 공유하기

댓글

Designed by JB FACTORY