Stopwatch 클래스
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);
반응형
'C#' 카테고리의 다른 글
[C#] FileStream (0) | 2023.11.20 |
---|---|
[C#] Stream (0) | 2023.11.17 |
[C#] Task (0) | 2023.11.06 |
[C#] Thread (0) | 2023.11.01 |
[C#] PerformanceCounter, PerformanceCounterCategory (0) | 2023.10.28 |
[C#] EventLog (Windows 이벤트 로그) (0) | 2023.10.26 |
[C#] StackTrace, StackFrame (0) | 2023.10.24 |
[C#] Debugger (0) | 2023.10.22 |