C 语言

关注公众号 jb51net

关闭
首页 > 软件编程 > C 语言 > C语言计算函数执行时间

C语言中计算函数执行时间的三种方式

作者:淼叔

本文主要介绍了C语言中计算函数执行时间的三种方式,主要包括clock(),timeb和time,具有一定的参考价值,感兴趣的可以了解一下

这篇文章主要介绍三种计算执行时间的方式。

方式1: time + difftime

使用time.h标准库中的time和difftime函数可以返回记录的两次time_t结构的时间之间的差值,这种方式只能精确到秒级,代码示例如下:

#include <stdio.h>
#include <time.h>

int fibonacci(int n) {
    if(n == 0 || n == 1) return 1;
    return fibonacci(n-1) + fibonacci(n-2);
}

int main() {
    int n = 0;
    while(~scanf("%d",&n)) {
        time_t start_time=0, end_time=0;
        time(&start_time);
        printf("fibonacci(%d)=%d\n",n,fibonacci(n));
        time(&end_time);
        printf("Time Used: %f\n",difftime(end_time,start_time));
    }
    return 0;
}

45
fibonacci(45)=1836311903
Time Used: 9.000000

方式2: clock + CLOCKS_PER_SEC

另外利用clock函数代替time函数也能起到相同作用,这种方式通过计算两个clock函数之间的时钟单元来实现,代码示例如下:

#include <stdio.h>
#include <time.h>

int fibonacci(int n) {
    if(n == 0 || n == 1) return 1;
    return fibonacci(n-1) + fibonacci(n-2);
}

int main() {
    int n = 0;
    while(~scanf("%d",&n)) {
        time_t start_time=0, end_time=0;
        start_time=clock();
        printf("fibonacci(%d)=%d\n",n,fibonacci(n));
        end_time=clock();
        printf("Time Used: %f\n",(double)(end_time-start_time)/CLOCKS_PER_SEC);
    }
    return 0;
}

45
fibonacci(45)=1836311903
Time Used: 8.715660

方式3: timeb+ftime

另外利用clock函数代替time函数也能起到相同作用,这种方式通过计算两个clock函数之间的时钟单元来实现,代码示例如下:

#include <stdio.h>
#include <sys/timeb.h>
#include <string.h>
int fibonacci(int n) {
    if(n == 0 || n == 1) return 1;
    return fibonacci(n-1) + fibonacci(n-2);
}

int main() {
    int n = 0;
    while(~scanf("%d",&n)) {
        struct timeb start_time, end_time;
        memset(&start_time,0,sizeof(struct timeb));
        memset(&start_time,0,sizeof(struct timeb));
        ftime(&start_time);
        printf("fibonacci(%d)=%d\n",n,fibonacci(n));
        ftime(&end_time);
        printf("Time Used: %d.%d\n",end_time.time-start_time.time,end_time.millitm-start_time.millitm);
    }
    return 0;
}

45
fibonacci(45)=1836311903
Time Used: 8.621

总结

到此这篇关于C语言中计算函数执行时间的三种方式的文章就介绍到这了,更多相关C语言计算函数执行时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文