28 static int64 GetTimeMS()
36 static bool initialized=
false;
37 static int queryCount=0;
40 static DWORD g_ProcMask;
41 static DWORD g_SysMask;
42 static HANDLE g_Thread;
43 static LARGE_INTEGER g_yo;
46 if ( initialized ==
false)
50 HANDLE mProc = GetCurrentProcess();
53 #if _MSC_VER >= 1400 && defined (_M_X64) 54 GetProcessAffinityMask(mProc, (PDWORD_PTR)&g_ProcMask, (PDWORD_PTR)&g_SysMask);
56 GetProcessAffinityMask(mProc, &g_ProcMask, &g_SysMask);
58 g_Thread = GetCurrentThread();
60 QueryPerformanceFrequency( &g_yo );
64 static int64 lastQueryVal=(int64)0;
67 LARGE_INTEGER PerfVal;
70 SetThreadAffinityMask(g_Thread, 1);
75 QueryPerformanceCounter( &PerfVal );
78 SetThreadAffinityMask(g_Thread, g_ProcMask);
81 int64 quotient, remainder;
82 quotient=((PerfVal.QuadPart) / g_yo.QuadPart);
83 remainder=((PerfVal.QuadPart) % g_yo.QuadPart);
84 curTime = (int64) quotient*(int64)1000000 + (remainder*(int64)1000000 / g_yo.QuadPart);
88 if (curTime < lastQueryVal)
95 static int64 initialTime;
98 if ( initialized ==
false)
100 gettimeofday( &tp, 0 );
103 initialTime = ( tp.tv_sec ) * (int64) 1000000 + ( tp.tv_usec );
108 gettimeofday( &tp, 0 );
110 curTime = ( tp.tv_sec ) * (int64) 1000000 + ( tp.tv_usec );
112 return curTime - initialTime;
different physics engine has different winding order.
Definition: EventBinding.h:32
Main class.
Definition: ParaUtils.hpp:25
static int64 GetTimeUS()
get time in nano seconds.
Definition: ParaUtils.hpp:34
Definition: curl_setup_once.h:110