|  | @@ -18,11 +18,14 @@ func NewBytesToBufferReader(reader io.Reader) Reader {
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  }
 |  |  }
 | 
											
												
													
														|  |  
 |  |  
 | 
											
												
													
														|  | 
 |  | +const mediumSize = 8 * 1024
 | 
											
												
													
														|  | 
 |  | +const largeSize = 64 * 1024
 | 
											
												
													
														|  | 
 |  | +
 | 
											
												
													
														|  |  func (r *BytesToBufferReader) readSmall() (MultiBuffer, error) {
 |  |  func (r *BytesToBufferReader) readSmall() (MultiBuffer, error) {
 | 
											
												
													
														|  |  	b := New()
 |  |  	b := New()
 | 
											
												
													
														|  |  	err := b.Reset(ReadFrom(r.Reader))
 |  |  	err := b.Reset(ReadFrom(r.Reader))
 | 
											
												
													
														|  |  	if b.IsFull() {
 |  |  	if b.IsFull() {
 | 
											
												
													
														|  | -		r.buffer = make([]byte, 32*1024)
 |  | 
 | 
											
												
													
														|  | 
 |  | +		r.buffer = make([]byte, mediumSize)
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  	if !b.IsEmpty() {
 |  |  	if !b.IsEmpty() {
 | 
											
												
													
														|  |  		return NewMultiBufferValue(b), nil
 |  |  		return NewMultiBufferValue(b), nil
 | 
											
										
											
												
													
														|  | @@ -41,6 +44,9 @@ func (r *BytesToBufferReader) ReadMultiBuffer() (MultiBuffer, error) {
 | 
											
												
													
														|  |  	if nBytes > 0 {
 |  |  	if nBytes > 0 {
 | 
											
												
													
														|  |  		mb := NewMultiBufferCap(nBytes/Size + 1)
 |  |  		mb := NewMultiBufferCap(nBytes/Size + 1)
 | 
											
												
													
														|  |  		mb.Write(r.buffer[:nBytes])
 |  |  		mb.Write(r.buffer[:nBytes])
 | 
											
												
													
														|  | 
 |  | +		if nBytes == len(r.buffer) && len(r.buffer) == mediumSize {
 | 
											
												
													
														|  | 
 |  | +			r.buffer = make([]byte, largeSize)
 | 
											
												
													
														|  | 
 |  | +		}
 | 
											
												
													
														|  |  		return mb, nil
 |  |  		return mb, nil
 | 
											
												
													
														|  |  	}
 |  |  	}
 | 
											
												
													
														|  |  	return nil, err
 |  |  	return nil, err
 |