diff options
| -rw-r--r-- | src/test/parse.zig | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/src/test/parse.zig b/src/test/parse.zig index 35371e5..78915cd 100644 --- a/src/test/parse.zig +++ b/src/test/parse.zig @@ -167,30 +167,18 @@ test "print7" { } fn parseBench(path: []const u8, iters: usize) !void { - const file = try std.Io.Dir.cwd().openFile(io, path, .{}); - defer file.close(io); - - var parser = try zisp.io.Parser.init(alloc, io); - defer parser.deinit(); - var timer = try std.time.Timer.start(); for (0..iters) |i| { _ = i; + const file = try std.Io.Dir.cwd().openFile(io, path, .{}); + defer file.close(io); var buf: [4096]u8 = undefined; - var reader = file.reader(io, &buf); - var v: Value = undefined; + var file_reader = file.reader(io, &buf); + const reader = &file_reader.interface; while (true) { - v = parser.run(&reader.interface) catch |e| { - std.debug.print("\nfile pos: {}\n", .{ - reader.logicalPos(), - }); - return e; - }; - if (value.eof.eq(v)) { - break; - } + const v = zisp.io.parse.fromReaderNoError(alloc, io, reader); + if (value.eof.eq(v)) break; } - try reader.seekTo(0); } const ns: f64 = @floatFromInt(timer.lap()); const secs = ns / 1_000_000_000; @@ -201,7 +189,7 @@ fn parseBench(path: []const u8, iters: usize) !void { } test "parse bench" { - try parseBench("src/test/data/parser-test-1.scm", 200); - try parseBench("src/test/data/parser-test-2.scm", 800); + try parseBench("src/test/data/parser-test-1.scm", 800); + try parseBench("src/test/data/parser-test-2.scm", 6400); //try parseBench("src/test/data/parser-torture.scm", 1); } |
