authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-06-27 19:10:00 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2026-06-27 19:10:00 -07:00
log6d4f705000c3b5d71655c55166fffa5fa099f36a
tree7b9323961d10b542107c1355e3d008bf918662ea
parent810fa4e741d065e72fedf5b35fc3bf6dd26486b1
signaturebadge-check Signed by SSH key SHA256:4hHJbtBRU58AYXwjL7fkz2fnQHdiye8x1QpTCQ0sHNw

cleanup inflate_decompress stdlib test

debug: found 122 in 26170ms after searching 491941 commits vs debug: found 122 in 37876ms after searching 491941 commits on firefox root ~44% slower as written adding a buffer to toStd call triggers general protection exception

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

git.zig+11-3
...@@ -819,7 +819,6 @@ pub const Repository = struct {...@@ -819,7 +819,6 @@ pub const Repository = struct {
819 var list: nio.AllocatingWriter = .init(r.gpa);819 var list: nio.AllocatingWriter = .init(r.gpa);
820 errdefer list.deinit();820 errdefer list.deinit();
821 try list.ensureUnusedCapacity(512);821 try list.ensureUnusedCapacity(512);
822 // try std.compress.flate.inflate.decompress(.zlib, bufr.anyReadable(), list.writer());
823 try inflate_decompress(compressed_content, &list);822 try inflate_decompress(compressed_content, &list);
824 const data = list.items;823 const data = list.items;
825 const header = data[0..std.mem.indexOfScalar(u8, data, 0).?];824 const header = data[0..std.mem.indexOfScalar(u8, data, 0).?];
...@@ -962,7 +961,6 @@ pub const Repository = struct {...@@ -962,7 +961,6 @@ pub const Repository = struct {
962 var list: nio.AllocatingWriter = .init(r.gpa);961 var list: nio.AllocatingWriter = .init(r.gpa);
963 errdefer list.deinit();962 errdefer list.deinit();
964 try list.ensureUnusedCapacity(512);963 try list.ensureUnusedCapacity(512);
965 // try std.compress.flate.inflate.decompress(.zlib, bufr.anyReadable(), list.writer());
966 try inflate_decompress(compressed_content, &list);964 try inflate_decompress(compressed_content, &list);
967 const _type = std.meta.stringToEnum(RefType, @tagName(ty)).?;965 const _type = std.meta.stringToEnum(RefType, @tagName(ty)).?;
968 const content = try list.toOwnedSlice();966 const content = try list.toOwnedSlice();
...@@ -1004,7 +1002,6 @@ pub const Repository = struct {...@@ -1004,7 +1002,6 @@ pub const Repository = struct {
1004 var list: nio.AllocatingWriter = .init(r.gpa);1002 var list: nio.AllocatingWriter = .init(r.gpa);
1005 defer list.deinit();1003 defer list.deinit();
1006 try list.ensureUnusedCapacity(size);1004 try list.ensureUnusedCapacity(size);
1007 // try std.compress.flate.inflate.decompress(.zlib, bufr.anyReadable(), list.writer(r.gpa));
1008 try inflate_decompress(compressed_content, &list);1005 try inflate_decompress(compressed_content, &list);
1009 std.debug.assert(list.items.len == size);1006 std.debug.assert(list.items.len == size);
1010 // std.log.debug("maybe_oid={?s} size={d}", .{ maybe_oid, size });1007 // std.log.debug("maybe_oid={?s} size={d}", .{ maybe_oid, size });
...@@ -1641,6 +1638,17 @@ const z = @cImport({...@@ -1641,6 +1638,17 @@ const z = @cImport({
1641});1638});
16421639
1643fn inflate_decompress(in: []const u8, out: *nio.AllocatingWriter) !void {1640fn inflate_decompress(in: []const u8, out: *nio.AllocatingWriter) !void {
1641 // {
1642 // var reader: std.Io.Reader = .fixed(in);
1643 // var buf: [std.compress.flate.max_window_len]u8 = @splat(0);
1644 // var d: std.compress.flate.Decompress = .init(&reader, .zlib, &buf);
1645 // var w = out.anyWritable().toStd(&.{});
1646 // _ = d.reader.streamRemaining(&w.sw) catch |err| switch (err) {
1647 // error.ReadFailed => return d.err.?,
1648 // error.WriteFailed => return error.OutOfMemory,
1649 // };
1650 // return;
1651 // }
1644 var strm: z.z_stream = std.mem.zeroes(z.z_stream);1652 var strm: z.z_stream = std.mem.zeroes(z.z_stream);
1645 {1653 {
1646 const ret: ZlibCode = @enumFromInt(z.inflateInit(&strm));1654 const ret: ZlibCode = @enumFromInt(z.inflateInit(&strm));