diff options
| author | Keith Randall <khr@golang.org> | 2016-02-22 13:20:38 -0800 |
|---|---|---|
| committer | Keith Randall <khr@golang.org> | 2016-02-23 00:15:38 +0000 |
| commit | bd70bd9cb2f458b23222083a3a11190f080af7fd (patch) | |
| tree | 77c35258aea9e50c677841ef02af3b6a63871c10 /src/runtime/alg.go | |
| parent | 1e00cc1647916b705682f8721b8a9e9e095bf4ee (diff) | |
| download | go-bd70bd9cb2f458b23222083a3a11190f080af7fd.tar.xz | |
runtime: unify memeq and memequal
They do the same thing, except memequal also has the short-circuit
check if the two pointers are equal.
A) We might as well always do the short-circuit check, it is only 2 instructions.
B) The extra function call (memequal->memeq) is expensive.
benchmark old ns/op new ns/op delta
BenchmarkArrayEqual-8 8.56 5.31 -37.97%
No noticeable affect on the former memeq user (maps).
Fixes #14302
Change-Id: I85d1ada59ed11e64dd6c54667f79d32cc5f81948
Reviewed-on: https://go-review.googlesource.com/19843
Run-TryBot: Keith Randall <khr@golang.org>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/runtime/alg.go')
| -rw-r--r-- | src/runtime/alg.go | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/src/runtime/alg.go b/src/runtime/alg.go index 541649c62d..9e19119f4a 100644 --- a/src/runtime/alg.go +++ b/src/runtime/alg.go @@ -172,13 +172,6 @@ func nilinterhash(p unsafe.Pointer, h uintptr) uintptr { } } -func memequal(p, q unsafe.Pointer, size uintptr) bool { - if p == q { - return true - } - return memeq(p, q, size) -} - func memequal0(p, q unsafe.Pointer) bool { return true } |
