次のコード スニペットがあり、CPU の所要時間を評価しようとしています。
しかし、私はいくつかの奇妙な結果を得ています
struct timeval begin, end;
double cpu_time=0.0;
gettimeofday(&begin, NULL);
long cpu_sum = 0;
for (i = 0; i < size; i++) {
cpu_sum += array[i] * array[i];
}
gettimeofday(&end, NULL);
cpu_time = end.tv_sec - begin.tv_sec * 1000;
cpu_time += (end.tv_usec - begin.tv_usec) / 1000;
printf("calculated sum: %d using CPU in %lf ms \n", cpu_sum, cpu_time);
サンプル結果 = 1296217442.000000 ミリ秒
これはミリ秒単位の正しい時間値だとは思いません。ここで何が問題なのか誰でも助けることができますか?
どんな助けでも大歓迎です。
ありがとう