summaryrefslogtreecommitdiff
path: root/include/timer_base.h
diff options
context:
space:
mode:
authorBirte Kristina Friesel <birte.friesel@uos.de>2025-05-13 11:59:49 +0200
committerBirte Kristina Friesel <birte.friesel@uos.de>2025-05-13 11:59:49 +0200
commit591e195f3eeb06237dedd9c5a66fcfe0b0a10889 (patch)
tree4daa94bdc644015afac7cd27b4ecf93299a8d79b /include/timer_base.h
parentffba7bb7077fe4c1fc3493ef45d71cadfef53782 (diff)
VA: Use common timer and timing aspect headers
Diffstat (limited to 'include/timer_base.h')
-rw-r--r--include/timer_base.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/include/timer_base.h b/include/timer_base.h
new file mode 100644
index 0000000..fed8bec
--- /dev/null
+++ b/include/timer_base.h
@@ -0,0 +1,53 @@
+#pragma once
+
+#include <sys/time.h>
+
+#if DFATOOL_TIMING
+
+typedef struct Timer {
+
+ struct timeval startTime[N_TIMERS];
+ struct timeval stopTime[N_TIMERS];
+ double time[N_TIMERS];
+
+} Timer;
+
+#define dfatool_printf(fmt, ...) do { printf(fmt, __VA_ARGS__); } while (0)
+
+void start(Timer *timer, int i, int rep)
+{
+ if (rep == 0) {
+ timer->time[i] = 0.0;
+ }
+ gettimeofday(&timer->startTime[i], NULL);
+}
+
+void stop(Timer *timer, int i)
+{
+ gettimeofday(&timer->stopTime[i], NULL);
+ timer->time[i] +=
+ (timer->stopTime[i].tv_sec -
+ timer->startTime[i].tv_sec) * 1000000.0 +
+ (timer->stopTime[i].tv_usec - timer->startTime[i].tv_usec);
+}
+
+#else
+
+#define dfatool_printf(fmt, ...) do {} while (0)
+
+typedef int Timer;
+
+void start(Timer *timer, int i, int rep)
+{
+ (void)timer;
+ (void)i;
+ (void)rep;
+}
+
+void stop(Timer *timer, int i)
+{
+ (void)timer;
+ (void)i;
+}
+
+#endif