1
0
mirror of https://github.com/golang/go synced 2024-11-22 03:34: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:
Dave Cheney 2013-08-29 13:21:21 +10:00
parent 7c7d22ac5f
commit 9169372749

View File

@ -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()