authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-04-06 22:34:48-07:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2021-04-06 22:34:48-07:00
log2adeace905d6c36e3a333647c21287493ab98485
tree9f06399c6c8dd26cbf49880e91232c131874449e
parentb40d36c90ba894a12f2de4e6c881642edffad3ed

std: modernize zig parser perf test

use the file size formatting functions

1 files changed, 7 insertions(+), 3 deletions(-)

lib/std/zig/perf_test.zig+7-3
...@@ -9,6 +9,7 @@ const warn = std.debug.warn;...@@ -9,6 +9,7 @@ const warn = std.debug.warn;
9const Tokenizer = std.zig.Tokenizer;9const Tokenizer = std.zig.Tokenizer;
10const Parser = std.zig.Parser;10const Parser = std.zig.Parser;
11const io = std.io;11const io = std.io;
12const fmtIntSizeBin = std.fmt.fmtIntSizeBin;
1213
13const source = @embedFile("../os.zig");14const source = @embedFile("../os.zig");
14var fixed_buffer_mem: [10 * 1024 * 1024]u8 = undefined;15var fixed_buffer_mem: [10 * 1024 * 1024]u8 = undefined;
...@@ -25,12 +26,15 @@ pub fn main() !void {...@@ -25,12 +26,15 @@ pub fn main() !void {
25 const end = timer.read();26 const end = timer.read();
26 memory_used /= iterations;27 memory_used /= iterations;
27 const elapsed_s = @intToFloat(f64, end - start) / std.time.ns_per_s;28 const elapsed_s = @intToFloat(f64, end - start) / std.time.ns_per_s;
28 const bytes_per_sec = @intToFloat(f64, source.len * iterations) / elapsed_s;29 const bytes_per_sec_float = @intToFloat(f64, source.len * iterations) / elapsed_s;
29 const mb_per_sec = bytes_per_sec / (1024 * 1024);30 const bytes_per_sec = @floatToInt(u64, @floor(bytes_per_sec_float));
3031
31 var stdout_file = std.io.getStdOut();32 var stdout_file = std.io.getStdOut();
32 const stdout = stdout_file.writer();33 const stdout = stdout_file.writer();
33 try stdout.print("{:.3} MiB/s, {} KiB used \n", .{ mb_per_sec, memory_used / 1024 });34 try stdout.print("parsing speed: {:.2}/s, {:.2} used \n", .{
35 fmtIntSizeBin(bytes_per_sec),
36 fmtIntSizeBin(memory_used),
37 });
34}38}
3539
36fn testOnce() usize {40fn testOnce() usize {