go/src/reflect
Dan Kortschak 11a650bb4a reflect: ensure map keys match key type in MapIndex and SetMapIndex
name                          old time/op    new time/op    delta
Map/StringKeys/MapIndex-8           2.36µs ± 5%    2.55µs ±11%  +7.98%  (p=0.006 n=10+9)
Map/StringKeys/SetMapIndex-8        4.86µs ± 7%    4.77µs ± 1%    ~     (p=0.211 n=10+9)
Map/StringKindKeys/MapIndex-8       2.29µs ± 3%    2.28µs ± 4%    ~     (p=0.631 n=10+10)
Map/StringKindKeys/SetMapIndex-8    4.44µs ± 3%    4.61µs ± 1%  +3.78%  (p=0.000 n=10+10)
Map/Uint64Keys/MapIndex-8           3.42µs ± 9%    3.11µs ± 2%  -9.20%  (p=0.000 n=10+9)
Map/Uint64Keys/SetMapIndex-8        5.17µs ± 3%    5.00µs ± 1%  -3.23%  (p=0.000 n=9+10)

Fixes #52379

Change-Id: I545c71ea3145280828ca4186aad036a6c02016ed
Reviewed-on: https://go-review.googlesource.com/c/go/+/400635
Reviewed-by: Dmitri Shuralyov <dmitshur@google.com>
Reviewed-by: Joseph Tsai <joetsai@digital-static.net>
Reviewed-by: Ian Lance Taylor <iant@google.com>
Run-TryBot: Ian Lance Taylor <iant@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Auto-Submit: Ian Lance Taylor <iant@google.com>
2022-04-30 00:14:28 +00:00
..
internal reflect: fix stack overflow panic when using haveIdenticalUnderlyingType 2021-04-20 20:14:14 +00:00
abi.go reflect, runtime: drop RegabiArgs conditions 2022-03-18 15:17:37 +00:00
abi_test.go all: separate doc comment from //go: directives 2022-04-05 17:54:15 +00:00
all_test.go reflect: ensure map keys match key type in MapIndex and SetMapIndex 2022-04-30 00:14:28 +00:00
asm_386.s reflect: add register ABI support for makeFuncStub and methodValueCall 2021-04-02 16:53:18 +00:00
asm_amd64.s [dev.typeparams] reflect: call ABI0 spill/unspill functions on AMD64 2021-06-01 22:33:29 +00:00
asm_arm.s reflect: add register ABI support for makeFuncStub and methodValueCall 2021-04-02 16:53:18 +00:00
asm_arm64.s all: delete ARM64 non-register ABI fallback path 2022-03-18 18:26:13 +00:00
asm_mips64x.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
asm_mipsx.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
asm_ppc64x.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
asm_riscv64.s reflect, runtime: add reflect support for regabi on riscv64 2022-04-01 01:41:42 +00:00
asm_s390x.s reflect: add register ABI support for makeFuncStub and methodValueCall 2021-04-02 16:53:18 +00:00
asm_wasm.s reflect: add register ABI support for makeFuncStub and methodValueCall 2021-04-02 16:53:18 +00:00
deepequal.go all: replace `` and '' with “ (U+201C) and ” (U+201D) in doc comments 2022-04-05 17:52:29 +00:00
example_test.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
export_test.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
float32reg_generic.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
float32reg_ppc64x.s all: remove more leftover // +build lines 2021-11-06 10:24:44 +00:00
makefunc.go all: gofmt main repo 2022-04-11 16:34:30 +00:00
set_test.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
stubs_ppc64x.go all: go fix -fix=buildtag std cmd (except for bootstrap deps, vendor) 2021-10-28 18:17:57 +00:00
swapper.go all: gofmt -w -r 'interface{} -> any' src 2021-12-13 18:45:54 +00:00
tostring_test.go all: use reflect.{Pointer,PointerTo} 2021-10-26 14:24:17 +00:00
type.go reflect: remove unused overflowPad variable 2022-04-20 22:49:26 +00:00
value.go reflect: ensure map keys match key type in MapIndex and SetMapIndex 2022-04-30 00:14:28 +00:00
visiblefields.go all: use reflect.{Pointer,PointerTo} 2021-10-26 14:24:17 +00:00
visiblefields_test.go all: consistently use US spelling of present participles 2022-04-08 13:44:41 +00:00