gpt4 book ai didi

c - 相同功能消耗的时钟数量会根据其执行顺序发生巨大变化

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:54:54 24 4
gpt4 key购买 nike

<分区>

我试图测量 c 中顺序搜索所消耗的时钟周期。

int seqsearch(int arr[], int n, int val){
for(int i = 0; i < n ; i++){
if(arr[i] == val)
return i;
}
return -1;
}

void main(){
int arr[20000];
for(int i = 0; i < 20000; i++){
arr[i] = i;
}
int search = 17777;
double time;
clock_t start, end, consumed;
start = clock();
printf("\nSearch for %d :%d\n", search, seqsearch(arr, 20000, search));
end = clock();
consumed = end - start;
printf("\nNo. of clocks consumed = %ld\n", consumed);
time = (end - start) / CLOCKS_PER_SEC;
printf("\nRuntime = %lf\n", time);
start= clock();
printf("\nSearch for %d :%d\n", search, seqsearch(arr, 20000, search));
end = clock();
consumed = end - start;
printf("\nNo.of clocks consumed:%ld\n", consumed);
time = (end - start) / CLOCKS_PER_SEC;
printf("\nRuntime:%lf\n", time);
}

输出:

$ ./a.out

Search for 17777 :17777

No. of clocks consumed = 339

Runtime = 0.000000

Search for 17777 :17777

No.of clocks consumed:177

Runtime:0.000000

每次我执行它时,第二次执行消耗的 cock 周期比第一次执行消耗的少得多。如果我几乎同时执行两次相同的功能,两次执行不应该花费几乎相同的时钟周期。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com