C# 언어를 사용하여 프로그래밍을 하다 보면 성능을 향상시키거나 메모리 소비를 최적화해야 할 때가 있습니다. 이를 위해서는 메서드의 실행 시간과 메모리 사용량을 측정하는 것이 중요합니다. 이번 포스트에서는 C# 코드 내에서 메서드의 실행 시간과 메모리 사용량을 측정하는 방법에 대해 알아보겠습니다.
실행 시간 측정
C#에서는 Stopwatch
클래스를 사용하여 코드 블록의 실행 시간을 측정할 수 있습니다. 다음은 Stopwatch
클래스를 이용한 실행 시간 측정의 예제입니다:
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
Stopwatch stopwatch = new Stopwatch();
stopwatch.Start();
// 측정하고자 하는 코드 블록
stopwatch.Stop();
TimeSpan elapsedTime = stopwatch.Elapsed;
Console.WriteLine($"실행 시간: {elapsedTime.TotalMilliseconds}밀리초");
}
}
위의 예제에서 Stopwatch
클래스의 Start
와 Stop
메서드 사이에 측정하고자 하는 코드 블록을 넣으면 됩니다. 실행 시간은 Elapsed
속성을 통해 얻을 수 있습니다.
메모리 사용량 측정
C#에서는 GC.GetTotalMemory
메서드를 사용하여 전역 메모리 할당량을 얻을 수 있습니다. 이를 활용하여 메서드 실행 전과 실행 후의 메모리 사용량의 차이를 계산할 수 있습니다. 다음은 메모리 사용량을 측정하는 예제입니다:
using System;
using System.Diagnostics;
class Program
{
static void Main()
{
long startMemory = GC.GetTotalMemory(true);
// 메모리 사용량을 측정하고자 하는 코드 블록
long endMemory = GC.GetTotalMemory(true);
long memoryUsed = endMemory - startMemory;
Console.WriteLine($"메모리 사용량: {memoryUsed}바이트");
}
}
위의 예제에서 GC.GetTotalMemory
메서드를 사용하여 메서드 실행 전후의 메모리 사용량을 측정하고, 두 값의 차이를 계산하여 메모리 사용량을 얻을 수 있습니다.
C#에서는 Stopwatch
클래스를 사용하여 실행 시간을, GC.GetTotalMemory
메서드를 사용하여 메모리 사용량을 측정할 수 있습니다. 이러한 방법을 활용하여 성능 개선을 위한 기준을 설정하고, 최적화를 수행할 수 있을 것입니다.
참고 자료
이번 포스트에서는 C#에서 메서드의 실행 시간과 메모리 사용량을 측정하는 방법에 대해 알아보았습니다. 개발 과정에서 이러한 성능 측정을 통해 효율적인 프로그래밍을 할 수 있도록 노력하시기 바랍니다.