使用
         clock()函数是一个计算程序运行时间(其实简略的理解为占用CPU的使用时间)其实如果使用sleep函数,程序是放弃CPU的使用权,直到某个时间的到来,当然就不会存在占用CPU时间的时候,即使是一个计数的循环,对于CPU来说,也是微不足道的。计数单位:CLOCKS_PER_SEC, clock函数返回的值和CLOCKS_PER_SEC存在密不可分的关系,clock()/CLOCKS_PER_SEC返回的才是秒。在Linux下CLOCKS_PER_SEC是1000000, 在windows下是1000


问题

clock_t是一个32位符号整型,按照理论计算,程序运行24天后,返回值将会由于溢出,变为-1.所以clock函数适合进行简单的运算时间的计数,不适合作为程序中运行时间的计数,目前应用
std::chrono::time_point_cast<std::chrono::milliseconds>(std::chrono::system_clock::now()).time_since_epoch().count();
进行时间的计数,获取当前系统日期时间的纳秒级计数


当前提供如下方案,不知道是否也会出现类似的情况
1)GetTickCount();
2)
LARGE_INTEGER t1, t2, tc;
QueryPerformanceFrequency(&tc);
QueryPerformanceCounter(&t1);
//do something
QueryPerformanceCounter(&t2);
int fCount =( t2.QuadPart - t1.QuadPart)*1000 / tc.QuadPart;