]> Cypherpunks repositories - gostls13.git/commit
encoding/asn1: speed up marshal by reducing allocations
authorMartin Möhrmann <moehrmann@google.com>
Sun, 3 May 2020 17:58:10 +0000 (19:58 +0200)
committerMartin Möhrmann <moehrmann@google.com>
Tue, 18 Aug 2020 17:46:40 +0000 (17:46 +0000)
commit861a9483357a1a13609430ec6684b3dc9209e80c
tree4c0f6ebc273d72afb5189e0b41633fa40169b7c3
parentcdc77d34d7770ed02d84b9193380f9646017dce6
encoding/asn1: speed up marshal by reducing allocations

Replace strings.Split by strings.IndexByte and explicit
slicing to avoid the allocation of the return slice
of strings.Split.

name     old time/op    new time/op    delta
Marshal    43.3µs ± 1%    36.7µs ± 1%  -15.23%  (p=0.000 n=9+9)

name     old alloc/op   new alloc/op   delta
Marshal    10.7kB ± 0%     9.2kB ± 0%  -13.96%  (p=0.000 n=10+10)

name     old allocs/op  new allocs/op  delta
Marshal       444 ± 0%       366 ± 0%  -17.57%  (p=0.000 n=10+10)

Change-Id: I9e727defa23f7e5fc684f246de0136fe28cf8d25
Reviewed-on: https://go-review.googlesource.com/c/go/+/231738
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
src/encoding/asn1/common.go