我正在尝试使用该gettimeofday()
功能对功能进行计时。我能够以微秒为单位获取时间,但是当尝试将其除以 along
以获取以秒为单位的时间时,我的值被截断为单个integer
. 有没有人对为什么会发生这种情况有任何见解?我曾假设除以 along = 1000000.0
会防止这种截断。
功能时序:
struct timeval t1,t2;
gettimeofday(&t1, NULL);
// Computes C - C1 - using single thread
for (i=0; i < n; i++)
for (j=0; j < p; j++)
{
C1[i][j]=0;
for (k=0; k < m; k++)
C1[i][j] += A[i][k]*B[k][j];
}
gettimeofday(&t2, NULL);
此处应用的部门:
long divider = 1000000.0;
long elapsed = ((t2.tv_sec - t1.tv_sec) * 1000000.0L) + (t2.tv_usec - t1.tv_usec);
elapsed = (elapsed/divider);
printf("Time in seconds: %ld seconds\n", elapsed);
任何帮助表示赞赏。