diff --git a/lib/std/unicode/throughput_test.zig b/lib/std/unicode/throughput_test.zig index a9a211d24a..922c25ebc6 100644 --- a/lib/std/unicode/throughput_test.zig +++ b/lib/std/unicode/throughput_test.zig @@ -6,18 +6,23 @@ pub fn main() !void { const args = try std.process.argsAlloc(std.heap.page_allocator); + // Warm up runs + var buffer0: [32767]u16 align(4096) = undefined; + _ = try std.unicode.utf8ToUtf16Le(&buffer0, args[1]); + _ = try std.unicode.utf8ToUtf16Le_better(&buffer0, args[1]); + @fence(.SeqCst); var timer = try std.time.Timer.start(); @fence(.SeqCst); - var buffer1: [32767]u16 = undefined; + var buffer1: [32767]u16 align(4096) = undefined; _ = try std.unicode.utf8ToUtf16Le(&buffer1, args[1]); @fence(.SeqCst); const elapsed_ns_orig = timer.lap(); @fence(.SeqCst); - var buffer2: [32767]u16 = undefined; + var buffer2: [32767] u16 align(4096) = undefined; _ = try std.unicode.utf8ToUtf16Le_better(&buffer2, args[1]); @fence(.SeqCst);