Add the HRR related function and parameters into LTORC
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

46 linhas
1.0KB

  1. // Windows
  2. #ifdef _WIN32
  3. #include <Windows.h>
  4. double get_wall_time(){
  5. LARGE_INTEGER time,freq;
  6. if (!QueryPerformanceFrequency(&freq)){
  7. // Handle error
  8. return 0;
  9. }
  10. if (!QueryPerformanceCounter(&time)){
  11. // Handle error
  12. return 0;
  13. }
  14. return (double)time.QuadPart / freq.QuadPart;
  15. }
  16. double get_cpu_time(){
  17. FILETIME a,b,c,d;
  18. if (GetProcessTimes(GetCurrentProcess(),&a,&b,&c,&d) != 0){
  19. // Returns total user time.
  20. // Can be tweaked to include kernel times as well.
  21. return
  22. (double)(d.dwLowDateTime |
  23. ((unsigned long long)d.dwHighDateTime << 32)) * 0.0000001;
  24. }else{
  25. // Handle error
  26. return 0;
  27. }
  28. }
  29. // Posix/Linux
  30. #else
  31. #include <time.h>
  32. #include <sys/time.h>
  33. double get_wall_time(){
  34. struct timeval time;
  35. if (gettimeofday(&time,NULL)){
  36. // Handle error
  37. return 0;
  38. }
  39. return (double)time.tv_sec + (double)time.tv_usec * .000001;
  40. }
  41. double get_cpu_time(){
  42. return (double)clock() / CLOCKS_PER_SEC;
  43. }
  44. #endif