aboutsummaryrefslogtreecommitdiff
path: root/vendor/libghostty-vt/src/benchmark/Benchmark.zig
diff options
context:
space:
mode:
authorCan Celik <ogulcancelik@gmail.com>2026-09-10 21:51:57 +0300
committerGitHub <noreply@github.com>2026-09-10 21:51:57 +0300
commit425c86179791cd32e2d4ce0ae7f269940b4b0663 (patch)
treee52c4383a6d69216cbe2a32638bf90841d7e2189 /vendor/libghostty-vt/src/benchmark/Benchmark.zig
parent90e947a6e26e02f10ec7f1694c4eb5b78a86406b (diff)
chore: upgrade libghostty and preserve terminal behavior (#3906)
Diffstat (limited to 'vendor/libghostty-vt/src/benchmark/Benchmark.zig')
-rw-r--r--vendor/libghostty-vt/src/benchmark/Benchmark.zig11
1 files changed, 7 insertions, 4 deletions
diff --git a/vendor/libghostty-vt/src/benchmark/Benchmark.zig b/vendor/libghostty-vt/src/benchmark/Benchmark.zig
index 41c3695d..d45ba181 100644
--- a/vendor/libghostty-vt/src/benchmark/Benchmark.zig
+++ b/vendor/libghostty-vt/src/benchmark/Benchmark.zig
@@ -6,6 +6,7 @@ const builtin = @import("builtin");
const assert = std.debug.assert;
const macos = @import("macos");
const build_config = @import("../build_config.zig");
+const global = @import("../global.zig");
ptr: *anyopaque,
vtable: VTable,
@@ -64,21 +65,23 @@ pub fn run(
signpost.log.release();
};
- const start = std.time.Instant.now() catch return error.BenchmarkFailed;
+ const start: std.Io.Timestamp = .now(global.io(), .awake);
while (true) {
// Run our step function. If it fails, we return the error.
try self.vtable.stepFn(self.ptr);
result.iterations += 1;
// Get our current monotonic time and check our exit conditions.
- const now = std.time.Instant.now() catch return error.BenchmarkFailed;
+ const now: std.Io.Timestamp = .now(global.io(), .awake);
+ const elapsed = start.durationTo(now).nanoseconds;
+ assert(elapsed >= 0);
const exit = switch (mode) {
.once => true,
- .duration => |ns| now.since(start) >= ns,
+ .duration => |ns| elapsed >= ns,
};
if (exit) {
- result.duration = now.since(start);
+ result.duration = @as(u64, @intCast(std.math.clamp(elapsed, 0, std.math.maxInt(u64))));
return result;
}
}