diff options
| author | Tianhao Wang <wth@riseup.net> | 2023-11-02 01:14:25 +0100 |
|---|---|---|
| committer | Tianhao Wang <wth@riseup.net> | 2023-11-02 01:14:25 +0100 |
| commit | f3ba79298a26169d6563c42bbd437b903623c599 (patch) | |
| tree | e5b1e91b0a01ac7e99efd1f6424fa7c44af8b3d4 /testn.c | |
init
Diffstat (limited to 'testn.c')
| -rw-r--r-- | testn.c | 42 |
1 files changed, 42 insertions, 0 deletions
@@ -0,0 +1,42 @@ +#include <stdio.h> +#include <stdlib.h> +#include <time.h> +#define ROWS 1024 +#define COLS 64 +#define VFL 6291456 +#ifndef OFF +#define OFF 0 +#endif + +char arr[ROWS*4][(COLS+OFF)*4] __attribute__((aligned(4096))); +char arr2[VFL]; + +int main() { + int i, j, k; + time_t t; + volatile int xor; + srand(0x42069); + // init array with random values + for (i = 0; i < ROWS; i++) { + for (j = 0; j < COLS; j++) { + arr[i][j] = rand()%255; + } + } + + // "flush" 6MiB cache + // for(i = 0; i < VFL; i++)arr2[i] = i*i; + // for(i = 0; i < VFL; i++)arr2[i] += 1; + + // mem barrier + __sync_synchronize(); + t = clock(); + for (i = 1; i < ROWS; i++) { + for (j = 0; j < COLS; j++) { + arr[i][j] *= arr[i-1][j]; + xor ^= arr[i][j]; + } + } + t = clock() - t; + printf("%ld",t); +} + |
