C#
[C#] Stopwatch
DANEW
2023. 10. 30. 09:00
Stopwatch 클래스
Stopwatch 클래스 (System.Diagnostics)
경과 시간을 정확하게 측정하는 데 사용할 수 있는 일련의 메서드와 속성을 제공합니다.
learn.microsoft.com
namespace System.Diagnostics
{
public class Stopwatch
{
public static readonly long Frequency;
public static readonly bool IsHighResolution;
public Stopwatch();
public bool IsRunning { get; }
public TimeSpan Elapsed { get; }
public long ElapsedMilliseconds { get; }
public long ElapsedTicks { get; }
public static long GetTimestamp();
public static Stopwatch StartNew();
public void Start();
public void Restart();
public void Stop();
public void Reset();
}
}
반응형
- 실행 시간을 손 쉽게 측정 할 수 있는 메커니즘
- OS와 HW가 지원하는 가장 높은 해상도, 일반적으로 1ms 미만
(DateTime.Now나 Environment.TickCount보다 높은 해상도)
- 시작: StartNew | 인스턴스 생성 후 Start
- 중지: Stop
- 흐른 시간
1. Elapsed (TimeSpan)
2. ElapsedTick (long, Frequency로 나누면 초 단위 시간이 나옴)
3. ElapsedMiliseconds (long, ms)
Stopwatch sw = Stopwatch.StartNew();
Thread.Sleep(2000);
Console.WriteLine(sw.Elapsed);
Console.WriteLine(sw.ElapsedMilliseconds);
Console.WriteLine(sw.ElapsedTicks);
Console.WriteLine(sw.ElapsedTicks / Stopwatch.Frequency);
반응형