반응형
250x250
Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Archives
Today
Total
관리 메뉴

폴크(FOLC)

C# 테크닉 - TimeCheck ( QPC ) 본문

C#, WF, WPF(.NET)/C#, WF, WPF(.NET) 테크닉

C# 테크닉 - TimeCheck ( QPC )

folcjin 2021. 12. 7. 10:59
728x90
반응형

# 특정 영역에 대해서 CPU 가동에 대한 소요 시간을 확인
   > QueryPerformanceCounter 를 이용

# 소스 코드
using System.Runtime.InteropServices;

class TimeChecker
{
   [DllImport("Kernel32.dll")]
   private static extern bool QueryPerformanceCounter(out long lpPerformanceCount);
   [DllImport("Kernel32.dll")]
   private static extern bool QueryPerformanceFrequency(out long lpFrequency);

   private long m_freq, m_st, m_ed;
   public TimeChecker()
   {
      Reset();
   }
   public void Reset()
   {
      // 고해상도 타이머의 주기를 얻는다.
      QueryPerformanceFrequency(out m_freq);
      // 시작 시점의 진동수를 얻는다.
      QueryPerformanceCounter(out m_st);
   }
   public double Elapsed_ms()
   {
      QueryPerformanceCounter(out m_ed);             
      // 소요 시간 계산
      double gap = ((double)(m_ed) - (double)(m_st)) / (double)(m_freq);
      return (gap * 1000.0);
   }
}

728x90
반응형
사업자 정보 표시
사업자 등록번호 : -- | TEL : --