time命令显示用户时间大于实时

时间:2016-02-29 13:37:05

标签: linux time

我和

的问题大致相同

linux time command resulting real is less than user

user time larger than real time

但不能对这些问题发表评论。

当我运行下面给出的非多线程程序时,我偶尔会使用/ usr / bin / time和bash的内置时间来获得大于实时的用户时间。我没有看到任何可能使用不同核心的东西。 rand()不知怎的罪魁祸首?怎么样?谢谢!

#include <stdio.h>
#include <stdlib.h>

#define N 100
#define MM_MAX 50000

int
main(int ac, char **av)
{
    unsigned int i, j, k, n;
    int A[N][N], B[N][N], C[N][N];

    if (ac != 2) {
        fprintf(stderr, "Usage: matmul <seed>");
        exit(1);
    }
    srand((unsigned int) atoi(av[1]));

    for (n = 0; n < atoi(av[1]); n++) {
        for (i = 0; i < N; i++) {
            for (j = 0; j < N; j++) {
                A[i][j] = rand() % MM_MAX;
                B[i][j] = rand() % MM_MAX;
            }
        }
        for (i = 0; i < N; i++) {
            for (j = 0; j < N; j++) {
                C[i][j] = 0;
                for (k = 0; k < N; k++) {
                    C[i][j] += A[i][k] * B[k][j];
                }
                printf("%7d ", C[i][j]);
            }
            putchar('\n');
        }
    }

    return 0;
}

0 个答案:

没有答案