Skip to content

Commit dddbc24

Browse files
committed
bound
1 parent c8a3f23 commit dddbc24

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

src/uu/sort/src/chunks.rs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,9 @@ pub fn read<T: Read>(
181181
} = recycled_chunk;
182182
if buffer.len() < carry_over.len() {
183183
buffer.resize(carry_over.len(), 0);
184-
let new_len = (carry_over.len() * 2).max(1024 * 1024);
184+
let new_len = (carry_over.len() * 2)
185+
.max(1024 * 1024)
186+
.min(carry_over.len() + 16 * 1024 * 1024);
185187
buffer.reserve(new_len - buffer.len());
186188
}
187189
buffer[..carry_over.len()].copy_from_slice(carry_over);
@@ -369,7 +371,7 @@ fn read_to_buffer<T: Read>(
369371

370372
// We need to read more lines
371373
let len = buffer.len();
372-
let grow_by = len.max(1024 * 1024);
374+
let grow_by = len.min(16 * 1024 * 1024).max(1024 * 1024);
373375
buffer.reserve(grow_by);
374376
buffer.resize(len + 64 * 1024, 0);
375377
read_target = &mut buffer[len..];

0 commit comments

Comments
 (0)