Guest User

Untitled

a guest
Apr 25th, 2018
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. public class HiPerfTimer
  2. {
  3. [DllImport("Kernel32.dll")]
  4. private static extern bool QueryPerformanceCounter(out long lpPerformanceCount);
  5.  
  6. [DllImport("Kernel32.dll")]
  7. private static extern bool QueryPerformanceFrequency(out long lpFrequency);
  8.  
  9. private long startTime, stopTime;
  10. private long freq;
  11.  
  12. public HiPerfTimer()
  13. {
  14. startTime = 0;
  15. stopTime = 0;
  16.  
  17. if (QueryPerformanceFrequency(out freq) == false)
  18. {
  19. throw new Win32Exception();
  20. }
  21. }
  22.  
  23. public void Start()
  24. {
  25. Thread.Sleep(0);
  26.  
  27. QueryPerformanceCounter(out startTime);
  28. }
  29.  
  30. public void Stop()
  31. {
  32. QueryPerformanceCounter(out stopTime);
  33. }
  34.  
  35. public double Duration
  36. {
  37. get
  38. {
  39. return (double)(stopTime - startTime) / (double) freq;
  40. }
  41. }
  42. }
Add Comment
Please, Sign In to add comment