之前一直用 QueryPerformanceFrequency , QueryPerformanceCounter发现系统调用时间比较长.
改用 GetSystemTimeAsFileTime
新的:
#include <Windows.h>
class TimeStamp
{
static FILETIME __startFileTime,__endFileTime;
static ULARGE_INTEGER __startTime , __endTime;
public:
static void start() {
GetSystemTimeAsFileTime(&__startFileTime);
__startTime.LowPart = __startFileTime.dwLowDateTime;
__startTime.HighPart = __startFileTime.dwHighDateTime;
}
static unsigned __int64 elapsed() {
GetSystemTimeAsFileTime(&__endFileTime);
__endTime.LowPart = __endFileTime.dwLowDateTime;
__endTime.HighPart = __endFileTime.dwHighDateTime;
return (__endTime.QuadPart - __startTime.QuadPart) / 10000; // ms
}
};
ULARGE_INTEGER TimeStamp::__endTime = {0};
ULARGE_INTEGER TimeStamp::__startTime = {0};
FILETIME TimeStamp::__endFileTime = {0};
FILETIME TimeSt