aboutsummaryrefslogtreecommitdiffstats
path: root/bench/benchmark-zrand.c
diff options
context:
space:
mode:
Diffstat (limited to 'bench/benchmark-zrand.c')
-rw-r--r--bench/benchmark-zrand.c29
1 files changed, 7 insertions, 22 deletions
diff --git a/bench/benchmark-zrand.c b/bench/benchmark-zrand.c
index 714ba78..2672f0e 100644
--- a/bench/benchmark-zrand.c
+++ b/bench/benchmark-zrand.c
@@ -1,43 +1,28 @@
-#include <time.h>
-#include <stdio.h>
-
-#include "../zahl.h"
-
-
-#ifndef CLOCK_MONOTONIC_RAW
-# define CLOCK_MONOTONIC_RAW CLOCK_MONOTONIC
-#endif
+#include "benchmark.h"
#define BENCHMARK(INSTRUCTION, FAST)\
do {\
i = FAST ? 1000000L : 1000L;\
- clock_gettime(CLOCK_MONOTONIC_RAW, &start);\
+ TIC;\
while (i--) {\
INSTRUCTION;\
}\
- clock_gettime(CLOCK_MONOTONIC_RAW, &end);\
- end.tv_sec -= start.tv_sec;\
- end.tv_nsec -= start.tv_nsec;\
- if (end.tv_nsec < 0) {\
- end.tv_nsec += 1000000000L;\
- end.tv_sec -= 1;\
- }\
- printf("%s: %lli.%09li %s\n",\
- #INSTRUCTION,\
- (long long int)(end.tv_sec), end.tv_nsec,\
- FAST ? "µs" : "ms");\
+ TOC;\
+ printf("%s: %s %s\n",\
+ #INSTRUCTION, STIME, FAST ? "µs" : "ms");\
} while (0)
int
main(int argc, char *argv[])
{
- struct timespec start, end;
z_t r, n;
jmp_buf jmp;
size_t i;
+ benchmark_init();
+
if (setjmp(jmp)) {
zperror(argv[0]);
return 1;