본문 바로가기

C#

C# Stopwatch를 활용한 코드 블록별 성능 분석

C#에서 코드의 실행 시간을 측정하고 최적화하는 방법으로 Stopwatch 클래스를 활용할 수 있습니다. Stopwatch는 정밀한 시간 측정이 가능해 성능 분석에 안성맞춤입니다.

1. Stopwatch 기본 사용법

Stopwatch는 다음과 같이 시작과 정지를 통해 경과 시간을 측정합니다.

var stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// 측정할 코드 블록
stopwatch.Stop();
Console.WriteLine($"Elapsed time: {stopwatch.ElapsedMilliseconds} ms");

2. 여러 코드 블록 성능 비교하기

여러 부분의 실행 시간을 비교하려면 각각 별도의 Stopwatch를 생성하거나 같은 Stopwatch를 재시작하며 측정할 수 있습니다.

var sw = new System.Diagnostics.Stopwatch();

sw.Start();
// 첫 번째 작업
Thread.Sleep(500);
sw.Stop();
Console.WriteLine($"First block: {sw.ElapsedMilliseconds} ms");

sw.Restart();
// 두 번째 작업
Thread.Sleep(300);
sw.Stop();
Console.WriteLine($"Second block: {sw.ElapsedMilliseconds} ms");

3. 실용적인 팁

- Stopwatch는 매우 짧은 시간 측정에 적합합니다. 너무 짧은 코드는 여러번 반복해서 평균을 내는 것을 권장합니다.

- Debug 모드보다 Release 모드에서 실제 성능 측정이 더 정확합니다.

Stopwatch를 활용해 성능 병목 구간을 정확히 파악하고, 효율적인 코드 작성에 도움을 받아보세요.