From ff3a6d06503f22cd38b4f741c9c63327805df6ca Mon Sep 17 00:00:00 2001 From: NikoMalik Date: Sun, 5 Oct 2025 17:35:58 +0300 Subject: [PATCH] fix: do not remove libc memmove until performance comparisons have been conducted --- src/fastmem.zig | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/fastmem.zig b/src/fastmem.zig index 47009a0a7..d4a0a7750 100644 --- a/src/fastmem.zig +++ b/src/fastmem.zig @@ -2,10 +2,14 @@ const std = @import("std"); const builtin = @import("builtin"); const assert = std.debug.assert; -/// Same as std.mem.copyForwards/Backwards but prefers libc memmove if it is -/// available because it is generally much faster. +/// Same as @memmove but prefers libc memmove if it is +/// available because it is generally much faster?. pub inline fn move(comptime T: type, dest: []T, source: []const T) void { - @memmove(dest, source); + if (builtin.link_libc) { + _ = memmove(dest.ptr, source.ptr, source.len * @sizeOf(T)); + } else { + @memmove(dest, source); + } } /// Same as @memcpy but prefers libc memcpy if it is available