C_clock()测试代码(循环)运行时间

 

 

clock()   传送门(百度百科)

 

  clock()是C/C++中的计时函数,而与其相关的数据类型是clock_t。在MSDN中,查得对clock函数定义如下:
 
  clock_t clock(void) ;
 
  简单而言,就是该程序从启动到函数调用占用CPU的时间。这个函数返回从“开启这个程序进程”到“程序中调用clock()函数”时之间的CPU时钟计时单元(clock tick)数,在MSDN中称之为挂钟时间(wal-clock);若挂钟时间不可取,则返回-1。其中clock_t是用来保存时间的数据类型
 
  宏CLOCKS_PER_SEC适用于将计算系统时间类型转换为用户可读的秒时间,包含于头文件ctime(或time.h)中
 
#include<stdio.h>
#include<stdlib.h>
#include<time.h>

//测试for循环时间 
void delay(unsigned int t)
{
        unsigned int i,j;
        for(i=0;i<t;i++)
            for(j=0;j<t;j++)
            ;
}

int main( )
{

    clock_t start, finish;
    double Text_time;
    start = clock();
    delay(1000);
    finish = clock();
    Text_time = (double)(finish-start) / CLOCKS_PER_SEC;
    printf("%lf seconds/n", Text_time);
    return 0;
}

 

 

 

  100万次循环测试出0.002秒

    在测试for循环和while循环时有时会出现稍许误差,误差出现和当前系统可用CPU空闲率有关

    

 

posted @ 2018-09-25 20:57  Cynical丶Gary  阅读(724)  评论(0编辑  收藏  举报