Skip to content

Commit 11b06fe

Browse files
committed
Avoid scanning previously discarded blocks
1 parent 69b013d commit 11b06fe

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

src/FileSegment.zig

+2-1
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,9 @@ pub fn search(self: Self, sorted_hashes: []const u32, results: *SearchResults) !
7676
defer block_items.deinit();
7777

7878
for (sorted_hashes) |hash| {
79-
var block_no = std.sort.lowerBound(u32, hash, self.index.items, {}, std.sort.asc(u32));
79+
var block_no = std.sort.lowerBound(u32, hash, self.index.items[prev_block_range_start..], {}, std.sort.asc(u32)) + prev_block_range_start;
8080
if (block_no == self.index.items.len) {
81+
// TODO this can be handled more efficiently
8182
block_no = prev_block_range_start;
8283
}
8384
prev_block_range_start = block_no;

0 commit comments

Comments
 (0)