CheckTime.h 789 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #pragma once
  2. #include "../global.h"
  3. #include <ctime>
  4. #ifndef _WIN32
  5. #include <sys/time.h> // for gettimeofday()
  6. #endif
  7. struct CheckTime
  8. {
  9. #ifdef _WIN32
  10. time_t t0;
  11. #else
  12. timeval t1, t2;
  13. #endif
  14. std::string msg;
  15. CheckTime(const std::string & Msg) : msg(Msg)
  16. #ifdef _WIN32
  17. , t0(clock())
  18. #endif
  19. {
  20. #ifndef _WIN32
  21. gettimeofday(&t1, NULL);
  22. #endif
  23. }
  24. ~CheckTime()
  25. {
  26. float liczyloSie = 0;
  27. #ifdef _WIN32
  28. liczyloSie = (float)(clock() - t0) / (CLOCKS_PER_SEC / 1000);
  29. #else
  30. // stop timer
  31. gettimeofday(&t2, NULL);
  32. liczyloSie = (t2.tv_sec - t1.tv_sec) * 1000.0; // sec to ms
  33. liczyloSie += (t2.tv_usec - t1.tv_usec) / 1000.0; // us to ms
  34. #endif
  35. tlog0 << msg << ": " << liczyloSie << "ms" << std::endl;;
  36. }
  37. };