Adding upstream version 0.6.0.
Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
parent
c49a9029dc
commit
7f70a05c55
465 changed files with 60158 additions and 0 deletions
66
regressions/ck_pr/benchmark/fp.c
Normal file
66
regressions/ck_pr/benchmark/fp.c
Normal file
|
@ -0,0 +1,66 @@
|
|||
#include <stdio.h>
|
||||
#include <inttypes.h>
|
||||
#include <stdint.h>
|
||||
|
||||
#include "../../common.h"
|
||||
|
||||
#ifndef IR
|
||||
#define IR 3000000
|
||||
#endif /* IR */
|
||||
|
||||
static int a CK_CC_CACHELINE;
|
||||
static int b CK_CC_CACHELINE;
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
uint64_t s, e;
|
||||
unsigned int i;
|
||||
|
||||
s = rdtsc();
|
||||
for (i = 0; i < IR; i++) {
|
||||
ck_pr_load_int(&a);
|
||||
ck_pr_fence_strict_load();
|
||||
ck_pr_load_int(&b);
|
||||
}
|
||||
e = rdtsc();
|
||||
printf("[A] fence_load: %" PRIu64 "\n", (e - s) / IR);
|
||||
|
||||
s = rdtsc();
|
||||
for (i = 0; i < IR; i++) {
|
||||
if (ck_pr_load_int(&a) == 0)
|
||||
ck_pr_barrier();
|
||||
ck_pr_fence_strict_lock();
|
||||
ck_pr_load_int(&b);
|
||||
}
|
||||
e = rdtsc();
|
||||
printf("[A] fence_lock: %" PRIu64 "\n", (e - s) / IR);
|
||||
|
||||
s = rdtsc();
|
||||
for (i = 0; i < IR; i++) {
|
||||
ck_pr_store_int(&a, 0);
|
||||
ck_pr_fence_strict_store();
|
||||
ck_pr_store_int(&b, 0);
|
||||
}
|
||||
e = rdtsc();
|
||||
printf("[B] fence_store: %" PRIu64 "\n", (e - s) / IR);
|
||||
|
||||
s = rdtsc();
|
||||
for (i = 0; i < IR; i++) {
|
||||
ck_pr_store_int(&a, 0);
|
||||
ck_pr_fence_strict_memory();
|
||||
ck_pr_load_int(&b);
|
||||
}
|
||||
e = rdtsc();
|
||||
printf("[C] fence_memory: %" PRIu64 "\n", (e - s) / IR);
|
||||
|
||||
s = rdtsc();
|
||||
for (i = 0; i < IR; i++) {
|
||||
ck_pr_store_int(&a, 0);
|
||||
ck_pr_faa_int(&a, 0);
|
||||
ck_pr_load_int(&b);
|
||||
}
|
||||
e = rdtsc();
|
||||
printf("[C] atomic: %" PRIu64 "\n", (e - s) / IR);
|
||||
return 0;
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue