これは私のc++コードです。
double start_time = time(NULL);
double start_clock = clock();
#pragma omp parallel for private(i)
for(i=0;i<max_i;i++)
PROCESS(i);
double end_time = time(NULL);
double end_clock = clock();
printf("%lf second(s)\n", end_time-start_time);
printf("%lf second(s)\n", (end_clock-start_clock)/CLOCKS_PER_SEC);
これが出力です。
took 2.000000 second(s)
took 11.410000 second(s)
これらが一貫していない理由を誰かが知っていますか?これを測定する他の方法はありますか?ところで、私がここで見ている時間に基づいて、2秒はより合理的なようです。