diff options
| author | Tomasz Jezierski <tjomek.jezierski@gmail.com> | 2022-09-30 16:17:45 +0200 |
|---|---|---|
| committer | Gopher Robot <gobot@golang.org> | 2022-10-04 23:29:48 +0000 |
| commit | 9c2fd81ee11c1c49e55f1c59a96e170f2d53e6c8 (patch) | |
| tree | 3bb97a9e85fee70d4fe0dbdb35632ffa759e1efc /src/encoding | |
| parent | 0fec65d281af8932ce8da946faa55884f2427cfc (diff) | |
| download | go-9c2fd81ee11c1c49e55f1c59a96e170f2d53e6c8.tar.xz | |
encoding/asn1: remove allocation from init
asn1 allocates due to reflect.TypeOf(new(big.Int)) in init time.
We could replace it with (*big.Int)(nil).
Before:
init encoding/asn1 @1.0 ms, 0.009 ms clock, 224 bytes, 7 allocs
After:
init encoding/asn1 @0.70 ms, 0.002 ms clock, 192 bytes, 6 allocs
Fixes #55973
Change-Id: I7c3cc0f48631af73cf34ad3c731c380f46c72359
Reviewed-on: https://go-review.googlesource.com/c/go/+/435257
Run-TryBot: Dmitri Shuralyov <dmitshur@golang.org>
TryBot-Result: Gopher Robot <gobot@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@golang.org>
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Reviewed-by: hopehook <hopehook@golangcn.org>
Auto-Submit: Ian Lance Taylor <iant@google.com>
Diffstat (limited to 'src/encoding')
| -rw-r--r-- | src/encoding/asn1/asn1.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/encoding/asn1/asn1.go b/src/encoding/asn1/asn1.go index 6a7aa473a5..2e320897e3 100644 --- a/src/encoding/asn1/asn1.go +++ b/src/encoding/asn1/asn1.go @@ -660,7 +660,7 @@ var ( timeType = reflect.TypeOf(time.Time{}) rawValueType = reflect.TypeOf(RawValue{}) rawContentsType = reflect.TypeOf(RawContent(nil)) - bigIntType = reflect.TypeOf(new(big.Int)) + bigIntType = reflect.TypeOf((*big.Int)(nil)) ) // invalidLength reports whether offset + length > sliceLength, or if the |
