1
0
mirror of https://github.com/Mrs4s/MiraiGo.git synced 2025-05-04 19:17:38 +08:00

jce: readHead return non-ptr.

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)
This commit is contained in:
wdvxdr 2021-08-17 11:50:01 +08:00
parent 028326bb67
commit 0ca0c6ea45
No known key found for this signature in database
GPG Key ID: 703F8C071DE7A1B6

View File

@ -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()