mirror of
https://github.com/golang/go
synced 2024-11-22 09:14:40 -07:00
sort: use a very fast random generator for benchmarks
Adapted from https://golang.org/cl/11564044. Fixes breakage of darwin-amd64-race builder. R=golang-dev, r CC=golang-dev https://golang.org/cl/13352045
This commit is contained in:
parent
7c7d22ac5f
commit
9169372749
@ -520,10 +520,16 @@ func TestCountSortOps(t *testing.T) { countOps(t, Sort, "Sort ") }
|
|||||||
func bench(b *testing.B, size int, algo func(Interface), name string) {
|
func bench(b *testing.B, size int, algo func(Interface), name string) {
|
||||||
b.StopTimer()
|
b.StopTimer()
|
||||||
data := make(intPairs, size)
|
data := make(intPairs, size)
|
||||||
|
x := ^uint32(0)
|
||||||
for i := 0; i < b.N; i++ {
|
for i := 0; i < b.N; i++ {
|
||||||
for n := size - 3; n <= size+3; n++ {
|
for n := size - 3; n <= size+3; n++ {
|
||||||
for i := 0; i < len(data); i++ {
|
for i := 0; i < len(data); i++ {
|
||||||
data[i].a = rand.Intn(n / 5)
|
x += x
|
||||||
|
x ^= 1
|
||||||
|
if int32(x) < 0 {
|
||||||
|
x ^= 0x88888eef
|
||||||
|
}
|
||||||
|
data[i].a = int(x % uint32(n/5))
|
||||||
}
|
}
|
||||||
data.initB()
|
data.initB()
|
||||||
b.StartTimer()
|
b.StartTimer()
|
||||||
|
Loading…
Reference in New Issue
Block a user