* http://www.pulse-eight.net/
*/
-#include "../os.h"
+#include "env.h"
+#include "lib/platform/os.h"
#if defined(__APPLE__)
#include <mach/mach_time.h>
#elif defined(__WINDOWS__)
#include <time.h>
#else
+#include <time.h>
#include <sys/time.h>
#endif
inline int64_t GetTimeMs()
{
#if defined(__APPLE__)
- return (int64_t) (CVGetCurrentHostTime() * 1000 / CVGetHostClockFrequency());
+ return (int64_t) (CVGetCurrentHostTime() / (int64_t)(CVGetHostClockFrequency() * 0.001));
#elif defined(__WINDOWS__)
- time_t rawtime;
- time(&rawtime);
-
LARGE_INTEGER tickPerSecond;
LARGE_INTEGER tick;
if (QueryPerformanceFrequency(&tickPerSecond))
{
QueryPerformanceCounter(&tick);
- return (int64_t) (tick.QuadPart / 1000.);
+ return (int64_t) (tick.QuadPart / (tickPerSecond.QuadPart / 1000.));
}
return -1;
#else
- timeval time;
- gettimeofday(&time, NULL);
- return (int64_t) (time.tv_sec * 1000 + time.tv_usec / 1000);
+ timespec time;
+ clock_gettime(CLOCK_MONOTONIC, &time);
+ return (int64_t)time.tv_sec * 1000 + time.tv_nsec / 1000000;
#endif
}