C#에서 Stopwatch 클래스는 고해상도 타이머로 성능 측정에 자주 사용됩니다. 이번 글에서는 Stopwatch를 이용해 특정 함수의 호출 빈도를 간단하게 측정하는 방법을 소개합니다.
1. Stopwatch 기본 사용법
Stopwatch를 시작하고 정지하여 경과 시간을 구할 수 있습니다. 기본 구조는 다음과 같습니다.
Stopwatch sw = new Stopwatch();
sw.Start();
// 실행할 코드
sw.Stop();
Console.WriteLine($"경과 시간: {sw.ElapsedMilliseconds}ms");
2. 함수 호출 빈도 측정 로직
특정 시간 간격 내에 함수가 몇 번 호출되었는지 확인하는 간단한 방법은 Stopwatch의 경과 시간을 활용하는 것입니다. 예를 들어 1초마다 호출 횟수를 출력할 수 있습니다.
using System;
using System.Diagnostics;
class Program {
static Stopwatch sw = new Stopwatch();
static int callCount = 0;
static void TargetFunction() {
callCount++;
// 측정 주기 (1초)마다 호출 빈도 출력
if (sw.ElapsedMilliseconds >= 1000) {
Console.WriteLine($"최근 1초간 호출 횟수: {callCount}");
callCount = 0;
sw.Restart();
}
}
static void Main() {
sw.Start();
// 테스트: 빠르게 함수 여러 번 호출
for (int i = 0; i < 10000; i++) {
TargetFunction();
}
// 남은 시간 동안 출력
while (true) {
TargetFunction();
System.Threading.Thread.Sleep(10);
}
}
}
3. 마무리
Stopwatch를 활용하면 간단한 방법으로 함수 호출 빈도를 측정할 수 있습니다. 본 예제를 응용해 다양한 시간 단위나 조건에 맞춰 활용해 보세요.
'C#' 카테고리의 다른 글
| C# 유니코드 문자열 처리와 인코딩 변환 (0) | 2026.07.13 |
|---|---|
| C# CollectionView를 이용한 데이터 필터링 및 정렬 (0) | 2026.07.13 |
| C# 직렬화 시 참조 순환 처리 전략 (0) | 2026.07.12 |
| C# Span<T>와 stackalloc로 고성능 버퍼 생성 (0) | 2026.07.10 |
| C# 파일 시스템 감시(FileSystemWatcher)로 이벤트 처리 (0) | 2026.07.10 |