C#의 성능 테스트를 위한 정확한 시간 측정
이 기사에서는 C#을 사용하여 성능 테스트를 위한 정확한 시간을 측정하는 방법을 배웁니다. System.Diagnostics
네임스페이스에는 실행에 걸리는 시간을 측정하는 간단한 방법을 제공하는 Stopwatch
라는 뛰어난 클래스가 있습니다.
스톱워치
에 대한 개요를 살펴보겠습니다.
스톱워치
개요
Stopwatch
내장 클래스는 .Net
프레임워크에서 사용할 수 있으며 다양한 상황에서 사용할 수 있습니다. 코드를 최적화하거나 여러 잠재적 솔루션에서 최상의 옵션을 선택하거나 성능 스파이크를 찾는 데 도움이 됩니다.
즉, 스톱워치
는 특정 프로세스 또는 활동이 완료되는 데 걸리는 시간을 결정할 수 있는 간단한 장치입니다. 시간이 중요한 역할을 하는 상황에서는 코드를 최적화하는 것이 도움이 됩니다.
그것은 높은 수준의 정확도를 가지고 있으며 더 높은 수준의 복잡성을 가진 다른 모니터링 도구를 사용할 수 없거나 단순성을 위해 필요하지 않을 때 유용합니다.
C#
에서 성능 테스트를 위한 정확한 시간 측정을 위한 Stopwatch
구현
Stopwatch
의 기본 구현을 살펴보겠습니다. 다음 특성을 사용하여 경과 시간을 확인할 수 있습니다.
.경과
.ElapsedMilliseconds
.ElapsedTicks
아래 데모에서는 프로세스 경과 시간을 출력하는 .Elapsed
기능을 구현했습니다.
예
-
Stopwatch
유틸리티를 활용하려면 다음 라이브러리를 가져오십시오.using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Diagnostics;
-
Main()
메서드에서s
라는Stopwatch
개체를 만듭니다.Stopwatch s = new Stopwatch();
-
프로세스 측정 시작:
s.Start();
-
지금 프로세스 코드를 작성하십시오. 예를 들어 문자열 값을 인쇄하기 위해 기본
for()
루프를 사용했습니다.for (int i = 0; i < 5; i++) { Console.WriteLine("Myself M.Zeeshan, Let's Code!"); }
-
코드를 작성한 후 프로세스 측정을 중지하십시오.
s.Stop();
-
마지막으로
.Elapsed
기능을 사용하여 프로세스 시간을 확인합니다.Console.WriteLine("Time elapsed: {0}", s.Elapsed);
완전한 소스 코드:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Diagnostics;
namespace StopwatchbyZeeshan {
class Program {
static void Main(string[] args) {
Stopwatch s = new Stopwatch();
s.Start();
for (int i = 0; i < 5; i++) {
Console.WriteLine("Myself M.Zeeshan, Let's Code!");
}
s.Stop();
Console.WriteLine("Total Time elapsed: {0}", s.Elapsed);
}
}
}
출력:
Myself M.Zeeshan, Let's Code!
Myself M.Zeeshan, Let's Code!
Myself M.Zeeshan, Let's Code!
Myself M.Zeeshan, Let's Code!
Myself M.Zeeshan, Let's Code!
Total Time elapsed: 00:00:00.0144367
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn