aboutsummaryrefslogtreecommitdiff
path: root/src/timer.zig
diff options
context:
space:
mode:
Diffstat (limited to 'src/timer.zig')
-rw-r--r--src/timer.zig18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/timer.zig b/src/timer.zig
new file mode 100644
index 000000000..cf56cc6ec
--- /dev/null
+++ b/src/timer.zig
@@ -0,0 +1,18 @@
+const std = @import("std");
+
+const Timer = @This();
+
+begin: i128 = 0,
+elapsed: i128 = 0,
+
+pub fn start(timer: *Timer) void {
+ timer.begin = std.time.nanoTimestamp();
+}
+
+pub fn stop(timer: *Timer) void {
+ timer.elapsed = std.time.nanoTimestamp() - timer.begin;
+}
+
+pub fn seconds(timer: *const Timer) f64 {
+ return @intToFloat(f64, timer.elapsed) / std.time.ns_per_s;
+}