diff options
Diffstat (limited to 'fixtest/hiclock.c')
| -rw-r--r-- | fixtest/hiclock.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/fixtest/hiclock.c b/fixtest/hiclock.c new file mode 100644 index 0000000..94ed735 --- /dev/null +++ b/fixtest/hiclock.c @@ -0,0 +1,25 @@ +#include "hiclock.h"
+
+#if defined(__WIN32) || defined(__WIN64)
+LONGLONG HICLOCKS_PER_SEC = 0;
+
+void hiclock_init() {
+ LARGE_INTEGER freq;
+ QueryPerformanceFrequency(&freq);
+ HICLOCKS_PER_SEC = freq.QuadPart;
+}
+#endif
+
+hiclock_t hiclock() {
+ #if defined(__unix__)
+ timeval clocks;
+ gettimeofday(&clocks, NULL);
+ return ((uint64_t)clocks.tv_sec * 1000000ULL) + clocks.tv_usec;
+ #elif defined(__WIN32) || defined(__WIN64)
+ LARGE_INTEGER clocks;
+ QueryPerformanceCounter(&clocks);
+ return clocks.QuadPart;
+ #else
+ return clock();
+ #endif
+}
|
