mirror of
https://github.com/golang/go
synced 2024-11-11 23:20:24 -07:00
go/token: match the implementation of index selection with sort.Search
name old time/op new time/op delta
SearchInts-8 15.5ns ± 2% 13.7ns ± 4% -11.87% (p=0.008 n=5+5)
(see CL 36332 for the original change to sort.Search)
Change-Id: If452818185b92b8b3548b066f475e493d604ea29
GitHub-Last-Rev: 32dd3cffa6
GitHub-Pull-Request: golang/go#47293
Reviewed-on: https://go-review.googlesource.com/c/go/+/335809
Reviewed-by: Robert Griesemer <gri@golang.org>
Trust: Robert Griesemer <gri@golang.org>
Trust: Than McIntosh <thanm@google.com>
This commit is contained in:
parent
8eeb1bff1d
commit
f98b6111eb
@ -540,7 +540,7 @@ func searchInts(a []int, x int) int {
|
||||
// TODO(gri): Remove this when compilers have caught up.
|
||||
i, j := 0, len(a)
|
||||
for i < j {
|
||||
h := i + (j-i)>>1 // avoid overflow when computing h
|
||||
h := int(uint(i+j) >> 1) // avoid overflow when computing h
|
||||
// i ≤ h < j
|
||||
if a[h] <= x {
|
||||
i = h + 1
|
||||
|
Loading…
Reference in New Issue
Block a user