C中函数的执行时间(高精度)

时间:2015-03-25 18:34:29

标签: c

我正在尝试比较搜索算法的执行时间,任何人都可以帮我处理代码,我的问题是在执行时间,我使用并始终是0.00000秒。

调用二进制搜索的示例:

//BINARY SEARCH
clock_t start1,end1;
start1=clock();
binarySearch(a,size,search);
end1=clock();
extime1=(double)(end1-start1)*100000/CLOCKS_PER_SEC;
printf("EXECUTION TIME FOR THE BINARY SEARCH IS %.5f SECONDS:\n\n",extime1);

1 个答案:

答案 0 :(得分:0)

当然,考虑到计算机这些天变得非常快的事实,你需要一些大量的数据处理来计算一些可测量的时间。

int sum=2;
clock_t start1,end1;
start1=clock();
for(int i=0;i<100;i++){
    for(int j=0;j<100;j++){
        sum+=2;
    }
}
end1=clock();
double extime1=(double)(end1-start1)*100000/CLOCKS_PER_SEC;
printf("EXECUTION TIME FOR THE BINARY SEARCH IS %.5f SECONDS:\n\n",extime1);
  

输出:二进制搜索的执行时间为0.00000秒:

int sum=2;
clock_t start1,end1;
start1=clock();
for(int i=0;i<10000;i++){
    for(int j=0;j<10000;j++){
        sum+=2;
    }
}
end1=clock();
double extime1=(double)(end1-start1)*100000/CLOCKS_PER_SEC;
printf("EXECUTION TIME FOR THE BINARY SEARCH IS %.5f SECONDS:\n\n",extime1);
  

输出:二进制搜索的执行时间为35100.00000秒:


PS:由于时间错误,你不应该乘以100000。