File tree Expand file tree Collapse file tree 1 file changed +4
-2
lines changed
Expand file tree Collapse file tree 1 file changed +4
-2
lines changed Original file line number Diff line number Diff 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..] ;
You can’t perform that action at this time.
0 commit comments