summaryrefslogtreecommitdiff
path: root/bench/src/zg_caseless.zig
diff options
context:
space:
mode:
authorGravatar Sam Atman2025-05-16 13:13:01 -0400
committerGravatar Sam Atman2025-05-16 13:13:01 -0400
commit036923515ec05b07c381448402fc256d9c564c10 (patch)
treec3c170fb68f7504be8522acf8172977931541013 /bench/src/zg_caseless.zig
parentMerge stranded README changes from v0.14 release (diff)
downloadzg-036923515ec05b07c381448402fc256d9c564c10.tar.gz
zg-036923515ec05b07c381448402fc256d9c564c10.tar.xz
zg-036923515ec05b07c381448402fc256d9c564c10.zip
Remove benchmarks, ziglyph references
`ziglyph` is no longer maintained and basically abandoned, there's no need to keep the comparison between them active going forward.
Diffstat (limited to 'bench/src/zg_caseless.zig')
-rw-r--r--bench/src/zg_caseless.zig61
1 files changed, 0 insertions, 61 deletions
diff --git a/bench/src/zg_caseless.zig b/bench/src/zg_caseless.zig
deleted file mode 100644
index fa350e9..0000000
--- a/bench/src/zg_caseless.zig
+++ /dev/null
@@ -1,61 +0,0 @@
1const std = @import("std");
2
3const CaseFold = @import("CaseFold");
4const Normalize = @import("Normalize");
5
6pub fn main() !void {
7 var arena = std.heap.ArenaAllocator.init(std.heap.page_allocator);
8 defer arena.deinit();
9 const allocator = arena.allocator();
10
11 var args_iter = try std.process.argsWithAllocator(allocator);
12 _ = args_iter.skip();
13 const in_path = args_iter.next() orelse return error.MissingArg;
14
15 const input = try std.fs.cwd().readFileAlloc(
16 allocator,
17 in_path,
18 std.math.maxInt(u32),
19 );
20 defer allocator.free(input);
21
22 const fold_data = try CaseFold.FoldData.init(allocator);
23 var case_fold = CaseFold{ .fold_data = &fold_data };
24 var norm_data: Normalize.NormData = undefined;
25 try Normalize.NormData.init(&norm_data, allocator);
26 var normalize = Normalize{ .norm_data = &norm_data };
27
28 var iter = std.mem.splitScalar(u8, input, '\n');
29 var result: usize = 0;
30 var buf: [256]u8 = [_]u8{'z'} ** 256;
31 var prev_line: []const u8 = buf[0..1];
32 var timer = try std.time.Timer.start();
33
34 while (iter.next()) |line| {
35 if (try case_fold.compatCaselessMatch(
36 allocator,
37 &normalize,
38 prev_line,
39 line,
40 )) result += 1;
41 @memcpy(buf[0..line.len], line);
42 prev_line = buf[0..line.len];
43 }
44 std.debug.print("zg CaseFold.compatCaselessMatch: result: {}, took: {}\n", .{ result, std.fmt.fmtDuration(timer.lap()) });
45
46 result = 0;
47 iter.reset();
48 timer.reset();
49
50 while (iter.next()) |line| {
51 if (try case_fold.canonCaselessMatch(
52 allocator,
53 &normalize,
54 prev_line,
55 line,
56 )) result += 1;
57 @memcpy(buf[0..line.len], line);
58 prev_line = buf[0..line.len];
59 }
60 std.debug.print("zg CaseFold.canonCaselessMatch: result: {}, took: {}\n", .{ result, std.fmt.fmtDuration(timer.lap()) });
61}