int型の変数どうしの積とdouble型の変数どうしの掛け算1回あたりの実行時間を10万~1000万回程度と多数回繰り返し計算するのに要する時間の総和から演算以外の部分(繰り返しや代入)にかかる時間を除外して純粋に積演算にかかる時間を推定するプログラムを作成し,それぞれの実行時間の比較を行うという問題です。
結果が負になってしまいます。どこを改善すればよいでしょうか?
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int
main(void)
{
clock_t cl1, cl2, cl3, cl4, cl5, cl6, cl7, cl8;
int i, s;
double j, p;
/全体(int)/
cl1 = clock();
for (i = 0; i < NLOOP; i++) {
s = i * i;
}
cl2 = clock();
/代入, 繰り返し(int)/
cl3 = clock();
for (i = 0; i < NLOOP; i++) {
s = i;
}
cl4 = clock();
printf("int型の掛け算のみにかかる時間%f [μs]\n",( ((double)(cl2 - cl1) / CLOCKS_PER_SEC) - ((double)(cl4 - cl3) / CLOCKS_PER_SEC) ) * 100);
/全体(double)/
cl5 = clock();
for (j = 0; j < NLOOP; j++) {
p = j * j;
}
cl6 = clock();
/代入, 繰り返し(double)/
cl7 = clock();
for (j = 0; j < NLOOP; j++) {
p = j;
}
cl8 = clock();
printf("double型の掛け算のみにかかる時間%f [μs]\n",( ((double)(cl6 - cl5) / CLOCKS_PER_SEC) - ((double)(cl8 - cl7) / CLOCKS_PER_SEC) ) * 100);
return 0;
}
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/18 23:38
2017/01/19 01:03
2017/01/19 01:08 編集
2017/01/19 01:10
2017/01/19 02:29
2017/01/19 04:10
2017/01/19 04:14
2017/01/19 04:38
2017/01/19 04:49