From 858cfad9e41dcf3135a9da5d11e422cc6cd14e90 Mon Sep 17 00:00:00 2001 From: Ammar Bandukwala Date: Fri, 23 Sep 2022 10:21:56 -0500 Subject: [PATCH] drpcmanager: reduce memory allocation in Reader (#40) Also, a `go fmt` while I'm here. --- drpcwire/reader.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/drpcwire/reader.go b/drpcwire/reader.go index e88ea43..3780e86 100644 --- a/drpcwire/reader.go +++ b/drpcwire/reader.go @@ -27,10 +27,11 @@ type Reader struct { // A frame adds at most this many bytes of overhead to some data by prefixing // the data with: -// 1: control byte -// 9: maximum varint stream id -// 9: maximum varint message id -// 9: maximum varint data length +// +// 1: control byte +// 9: maximum varint stream id +// 9: maximum varint message id +// 9: maximum varint data length const maxFrameOverhead = 1 + 9 + 9 + 9 // NewReader constructs a Reader to read Packets from the io.Reader. @@ -48,7 +49,9 @@ func NewReaderWithOptions(r io.Reader, opts ReaderOptions) *Reader { return &Reader{ opts: opts, r: r, - curr: make([]byte, 0, 64*1024), + // Err on the side of a smaller buffer since ReadPacket will lazily + // grow this buffer. + curr: make([]byte, 0, 4096), id: ID{Stream: 1, Message: 1}, } }