计算程序运行时间

在长时间计算程序运行时间时,可以使用clock函数。clock比较通用,精度并不是特别的高,大约是10ms。但是对于长时间的计算的话,还是可以使用的。

 

以下是一段示例程序,将帮助你理解:

 

#include "stdio.h"
#include "memory.h"

#include "time.h"

#define SIZE (65535)

//使用两种方法进行内存copy
//session 1:单纯的循环拷贝,由于没有系统的优化速度会比较慢
#define DUMBCOPY for(i=0; i < SIZE; i++) destination[i] = source[i]
//session 2:使用系统优化过后的memcpy函数,速度明显较快
#define SMARTCOPY memcpy(destination, source, SIZE)


int main(int argc, char* argv[])
{
 printf("Hello World!/n");

 clock_t clockT1, clockT2;

 char source[SIZE], destination[SIZE];
 int i, j;

 clockT1 = clock();

 for(j=0; j<100; j++){
  //SMARTCOPY;
  DUMBCOPY;
 }

 clockT2 = clock();

 printf("clock tick run: %d/n",(clockT2-clockT1));

 printf("time run test by clock : %10.3f /n", (double)(clockT2-clockT1)/CLOCKS_PER_SEC);

 //conclusion:在计算程序运行的时长时,可以使用clock函数
 //clock函数计算的是CPU耗在本程序上的时间,也就是说中途遇到sleep,由于系统资源被释放,这段时间将
 //不会计算在内。
 //其次得到的返回值其实是耗在本程序上的CPU时间片的数量,即clock tick。该值需要除以CLOCKS_PER_SEC宏
 //才能得到ss.mmnn格式的运行时间。在POSIX兼容系统中,CLOCKS_PER_SEC的值为1,000,000,即1MHZ
 //使用clock得到的精度大约是10ms。

 return 0;
}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值