From: Dave Cheney Date: Thu, 29 Aug 2013 03:21:21 +0000 (+1000) Subject: sort: use a very fast random generator for benchmarks X-Git-Tag: go1.2rc2~400 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=916937274938adf506040b1118e1e20f990cf2b2;p=gostls13.git 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 --- diff --git a/src/pkg/sort/sort_test.go b/src/pkg/sort/sort_test.go index 3b705d7a24..6c36f30e0e 100644 --- a/src/pkg/sort/sort_test.go +++ b/src/pkg/sort/sort_test.go @@ -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) { b.StopTimer() data := make(intPairs, size) + x := ^uint32(0) for i := 0; i < b.N; i++ { for n := size - 3; n <= size+3; n++ { 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() b.StartTimer()