From 27061e4c4e723e16797453f473cff7148beecad3 Mon Sep 17 00:00:00 2001 From: Paul Oliver Date: Fri, 31 Jul 2026 04:04:37 +0200 Subject: Adds curses UI --- core/timer.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 core/timer.c (limited to 'core/timer.c') diff --git a/core/timer.c b/core/timer.c new file mode 100644 index 0000000..21f5c33 --- /dev/null +++ b/core/timer.c @@ -0,0 +1,32 @@ +// file : core/timer.c +// project : Salis-VM +// author : Paul Oliver + +#include +#include +#include +#include +#include + +#include "arch_spec.h" +#include "compress.h" +#include "salis.h" +#include "timer.h" + +void timer_reset(struct Timer *timer) { + assert(timer); + timer->step_start = g_step; + clock_gettime(CLOCK_MONOTONIC_COARSE, &timer->time_start); + timer->steps_per_sec = 0.f; +} + +void timer_measure(struct Timer *timer) { + assert(timer); + uint64_t step_end = g_step; + struct timespec time_end; + clock_gettime(CLOCK_MONOTONIC_COARSE, &time_end); + float step_delta = (float)(step_end - timer->step_start); + float time_delta = (float)(time_end.tv_sec - timer->time_start.tv_sec); + time_delta += (float)(time_end.tv_nsec - timer->time_start.tv_nsec) / 1000000000.f; + timer->steps_per_sec = step_delta / time_delta; +} -- cgit v1.2.1