]> Cypherpunks repositories - gostls13.git/commitdiff
undo CL 101970047 / 30307cc8bef2
authorRuss Cox <rsc@golang.org>
Fri, 13 Jun 2014 06:04:03 +0000 (02:04 -0400)
committerRuss Cox <rsc@golang.org>
Fri, 13 Jun 2014 06:04:03 +0000 (02:04 -0400)
makes windows-amd64-race benchmarks slower

««« original CL description
testing: make benchmarking faster

Allow the number of benchmark iterations to grow faster for fast benchmarks, and don't round up twice.

Using the default benchtime, this CL reduces wall clock time to run benchmarks:

net/http        49s   -> 37s   (-24%)
runtime         8m31s -> 5m55s (-30%)
bytes           2m37s -> 1m29s (-43%)
encoding/json   29s   -> 21s   (-27%)
strings         1m16s -> 53s   (-30%)

LGTM=crawshaw
R=golang-codereviews, crawshaw
CC=golang-codereviews
https://golang.org/cl/101970047
»»»

TBR=josharian
CC=golang-codereviews
https://golang.org/cl/105950044

src/pkg/testing/benchmark.go

index 43bbecbdc6278905f2e007856e36c863d82ddbed..1fbf5c8615f8c73a91a5d911da78877b3c8e985d 100644 (file)
@@ -205,12 +205,10 @@ func (b *B) launch() {
                } else {
                        n = int(d.Nanoseconds() / b.nsPerOp())
                }
-               // If the last run was small, don't grow too fast.
-               if last < 1000 {
-                       n = min(n, 100*last)
-               }
+               // Run more iterations than we think we'll need for a second (1.5x).
+               // Don't grow too fast in case we had timing errors previously.
                // Be sure to run at least one more than last time.
-               n = max(n, last+1)
+               n = max(min(n+n/2, 100*last), last+1)
                // Round up to something easy to read.
                n = roundUp(n)
                b.runN(n)