From 0ca0c6ea45a0c5dc84b92a672ed8abe3cdff7456 Mon Sep 17 00:00:00 2001 From: wdvxdr Date: Tue, 17 Aug 2021 11:50:01 +0800 Subject: [PATCH] jce: readHead return non-ptr. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit avoid escape. name old time/op new time/op delta JceReader_ReadSlice-8 469µs ± 1% 238µs ± 2% -49.40% (p=0.000 n=8+9) RequestDataVersion2_ReadFrom-8 5.72µs ± 5% 4.12µs ± 4% -28.04% (p=0.000 n=9+10) name old speed new speed delta JceReader_ReadSlice-8 44.8MB/s ± 1% 88.6MB/s ± 2% +97.66% (p=0.000 n=8+9) RequestDataVersion2_ReadFrom-8 16.3MB/s ± 6% 22.6MB/s ± 4% +38.89% (p=0.000 n=9+10) name old alloc/op new alloc/op delta JceReader_ReadSlice-8 266kB ± 0% 73kB ± 0% -72.40% (p=0.000 n=8+7) RequestDataVersion2_ReadFrom-8 3.74kB ± 0% 2.64kB ± 0% -29.49% (p=0.000 n=10+10) name old allocs/op new allocs/op delta JceReader_ReadSlice-8 18.0k ± 0% 6.0k ± 0% -66.66% (p=0.000 n=10+10) RequestDataVersion2_ReadFrom-8 136 ± 0% 67 ± 0% -50.74% (p=0.000 n=10+10) --- binary/jce/reader.go | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/binary/jce/reader.go b/binary/jce/reader.go index 24935017..7771a3bd 100644 --- a/binary/jce/reader.go +++ b/binary/jce/reader.go @@ -22,8 +22,7 @@ func NewJceReader(data []byte) *JceReader { return &JceReader{buf: buf, data: data} } -func (r *JceReader) readHead() (hd *HeadData, l int32) { - hd = &HeadData{} +func (r *JceReader) readHead() (hd HeadData, l int32) { b, _ := r.buf.ReadByte() hd.Type = b & 0xF hd.Tag = (int(b) & 0xF0) >> 4 @@ -35,7 +34,7 @@ func (r *JceReader) readHead() (hd *HeadData, l int32) { return hd, 1 } -func (r *JceReader) peakHead() (hd *HeadData, l int32) { +func (r *JceReader) peakHead() (HeadData, int32) { offset := r.buf.Size() - int64(r.buf.Len()) n := NewJceReader(r.data[offset:]) return n.readHead()