Browse Source

codec: set defEncByteBufSize=1024, used as length of input []byte or io.Writer buffer

Ugorji Nwoke 7 years ago
parent
commit
f8fe4a359c
2 changed files with 8 additions and 6 deletions
  1. 2 2
      codec/decode.go
  2. 6 4
      codec/encode.go

+ 2 - 2
codec/decode.go

@@ -2256,8 +2256,8 @@ type Decoder struct {
 
 // NewDecoder returns a Decoder for decoding a stream of bytes from an io.Reader.
 //
-// For efficiency, Users are encouraged to pass in a memory buffered reader
-// (eg bufio.Reader, bytes.Buffer).
+// For efficiency, Users are encouraged to configure ReaderBufferSize on the handle
+// OR pass in a memory buffered reader (eg bufio.Reader, bytes.Buffer).
 func NewDecoder(r io.Reader, h Handle) *Decoder {
 	d := newDecoder(h)
 	d.Reset(r)

+ 6 - 4
codec/encode.go

@@ -15,7 +15,9 @@ import (
 	"time"
 )
 
-const defEncByteBufSize = 1 << 6 // 4:16, 6:64, 8:256, 10:1024
+// defEncByteBufSize is the default size of []byte used
+// for bufio buffer or []byte (when nil passed)
+const defEncByteBufSize = 1 << 10 // 4:16, 6:64, 8:256, 10:1024
 
 var errEncoderNotInitialized = errors.New("Encoder not initialized")
 
@@ -287,7 +289,7 @@ func (z *bufioEncWriter) reset(w io.Writer, bufsize int) {
 	z.w = w
 	z.n = 0
 	if bufsize == 0 {
-		bufsize = 256
+		bufsize = defEncByteBufSize
 	}
 	if cap(z.buf) < bufsize {
 		z.buf = make([]byte, bufsize)
@@ -1260,8 +1262,8 @@ type Encoder struct {
 
 // NewEncoder returns an Encoder for encoding into an io.Writer.
 //
-// For efficiency, Users are encouraged to pass in a memory buffered writer
-// (eg bufio.Writer, bytes.Buffer).
+// For efficiency, Users are encouraged to configure WriterBufferSize on the handle
+// OR pass in a memory buffered writer (eg bufio.Writer, bytes.Buffer).
 func NewEncoder(w io.Writer, h Handle) *Encoder {
 	e := newEncoder(h)
 	e.Reset(w)