计时函数clock()在windows及Linux下的使用

  • 函数:clock_t clock(void);
  • 所在头文件:<time.h>/<ctime>
  • 函数说明: 返回从开始程序进程到调用clock()之间的CPU时钟计时单元(clock tick)数,即硬件滴答数
  • 注意事项: 硬件滴答数需要换算成s或者ms,通过头文件time.h或者ctime中的CLOCKS_PER_SEC来实现,该值在windows下为1000,在标准POSIX下为1000000,即每过CLOCKS_PER_SEC个滴答数,即为1s

值得注意的是:该方法计时精度有限,连续运行几十天后会出现较大误差,因此,在长时间运行的系统上需要采用更高精度的计时方法才行!

案例1:windows平台

#include<iostream>
#include<ctime>
using namespace std;
int main()
{
    clock_t start_,end_;
    start_=clock();                                       //程序开始计时
    double i=0;
    while(i<9999999)
        i++;
    end_=clock();                                         //程序结束用时
    double endtime=(double)(end_-start_)/CLOCKS_PER_SEC;  //硬件滴答数换算成时间
    cout<<"Total time:"<< endtime * 1000 << "ms" << endl; //ms为单位

    return 0;
}


案例2:ubuntu平台

#include <time.h>
#include <iostream>
using namespace std;
int main()
{
    clock_t start_,end_;
    start_=clock();										                //程序开始计时
    double i = 0;
    while(i<9999999)
        i++;
    end_=clock();											            //程序结束用时
    double endtime=(double)(end_-start_)/CLOCKS_PER_SEC;
    cout<<"Over time:"<< endtime * 1000<< "ms" << endl;	                //单位ms

    return 0;
}

参考文献:

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值