clock函数使用以及问题-创新互联

使用
         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::system_clock::now()).time_since_epoch().count();
进行时间的计数,获取当前系统日期时间的纳秒级计数

注意

类似会产生溢出的函数有 GetTickCount(),所以推荐使用GetTickCount64()进行替换

最精确的计算时间
LARGE_INTEGER t1, t2, tc;
QueryPerformanceFrequency(&tc);
QueryPerformanceCounter(&t1);
//do something
QueryPerformanceCounter(&t2);
int fCount =( t2.QuadPart - t1.QuadPart)*1000 / tc.QuadPart;

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:clock函数使用以及问题-创新互联
URL标题:http://pwwzsj.com/article/iipip.html