]> Cypherpunks repositories - gostls13.git/commit
encoding/asn1: optimize asn1.Unmarshal
authorDmitrii Okunev <xaionaro@gmail.com>
Tue, 31 Dec 2019 20:39:14 +0000 (20:39 +0000)
committerFilippo Valsorda <filippo@golang.org>
Mon, 9 Nov 2020 21:36:24 +0000 (21:36 +0000)
commitd36169120199e7f2b8c517fa6d82333496bb0a0a
tree66966e0976e2783d3a404ea494d7f6db762ba8b0
parentd4957122ee8a45aa73b0e8700d3a41c0ee9f4442
encoding/asn1: optimize asn1.Unmarshal

Used type-switch instead of switch by reflect.Type and added
BenchmarkUnmarshal.

name         old time/op    new time/op    delta
Marshal-8      28.1µs ± 2%    27.9µs ± 1%     ~     (p=0.094 n=9+9)
Unmarshal-8    6.45µs ± 1%    5.83µs ± 4%   -9.59%  (p=0.000 n=10+10)

name         old alloc/op   new alloc/op   delta
Marshal-8      8.26kB ± 0%    8.26kB ± 0%     ~     (all equal)
Unmarshal-8      840B ± 0%      488B ± 0%  -41.90%  (p=0.000 n=10+10)

name         old allocs/op  new allocs/op  delta
Marshal-8         363 ± 0%       363 ± 0%     ~     (all equal)
Unmarshal-8      50.0 ± 0%      43.0 ± 0%  -14.00%  (p=0.000 n=10+10)

Change-Id: I6b53833c7a3e2524f025453311841d03c1256a45
GitHub-Pull-Request: golang/go#36341
Reviewed-on: https://go-review.googlesource.com/c/go/+/268557
Trust: Filippo Valsorda <filippo@golang.org>
Trust: Roland Shoemaker <roland@golang.org>
Run-TryBot: Filippo Valsorda <filippo@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Roland Shoemaker <roland@golang.org>
src/encoding/asn1/asn1.go
src/encoding/asn1/marshal_test.go