From c04a283a7ab97903683f5f7268068aef69f5bddf Mon Sep 17 00:00:00 2001 From: Sebastiano Tronto Date: Thu, 13 Jun 2024 22:28:49 +0200 Subject: Added benchmark; removed old folder --- benchmark/benchmark.h | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 benchmark/benchmark.h (limited to 'benchmark/benchmark.h') diff --git a/benchmark/benchmark.h b/benchmark/benchmark.h new file mode 100644 index 0000000..e9361a8 --- /dev/null +++ b/benchmark/benchmark.h @@ -0,0 +1,39 @@ +#include +#include +#include +#include +#include + +double +time_benchmark(void (*run)(void), char *name) +{ + struct timespec start, end; + double tdiff, tdsec, tdnano; + + printf("\n"); + fflush(stdout); + + if (run == NULL) { + printf("> %s: nothing to run!\n", name); + fflush(stdout); + return -1.0; + } + + printf("Benchmark: %s\n\n", name); + printf("==========\n"); + fflush(stdout); + + clock_gettime(CLOCK_MONOTONIC, &start); + run(); + clock_gettime(CLOCK_MONOTONIC, &end); + + tdsec = end.tv_sec - start.tv_sec; + tdnano = end.tv_nsec - start.tv_nsec; + tdiff = tdsec + 1e-9 * tdnano; + + printf("==========\n"); + printf("\nTotal time: %.4fs\n", tdiff); + fflush(stdout); + + return tdiff; +} -- cgit v1.3