C语言的几种不同的计时函数

14 篇文章 0 订阅
  1.   clock()函数方法 

 

    clock_t time1,time2;

    time1 = clock();

    time2 = clock();

    double run_time = (double)(time2-time1)/CLOCKS_PER_SEC;

    printf("runtime = %f\n",run_time);

        2. 系统时间方法

        首先包含头文件

#include <sys/time.h>

        代码部分:    

    struct timeval  TimeValue_Start;

    struct timezone TimeZone_Start;



    struct timeval  TimeValue_Final;

    struct timezone TimeZone_Final;

    long            time_start, time_end;

    double        time_overhead;



    gettimeofday(&TimeValue_Start, &TimeZone_Start);//开始计时

    ........//开始计算

     gettimeofday(&TimeValue_Final, &TimeZone_Final);//结束计时



    time_start = TimeValue_Start.tv_sec * 1000000 + TimeValue_Start.tv_usec;

    time_end = TimeValue_Final.tv_sec * 1000000 + TimeValue_Final.tv_usec;

    time_overhead = (time_end - time_start)/1000000.0;

    printf("\n\n\t\t Time in Seconds (T)         : %lf",time_overhead);//输出运行时间

3.OpenMP上的计时函数

OpenMP程序的计时要么使用omp的取时间函数(方法3)要么使用系统时间(方法2)反正不能使用clock(方法1),clock()函数的计时好像是所以线程的时间,这样会有OpenMP没有加速的错觉。                      

 double start = omp_get_wtime();

 .........//计算
 
 double end = omp_get_wtime();
 
 double runtime = end-start;
 printf("runtime = %f\n",runtime);

        4.MPI上的计时函数                    

double read_file_start,read_file_end;
read_file_start  = MPI_Wtime();//开始读文件

.......//开始计算

read_file_end= MPI_Wtime();//读文件结束
printf("rank%d\tread_file_time:%f\n",rank,read_file_end-read_file_start);

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值