From: Brad Fitzpatrick Date: Wed, 14 Sep 2016 17:48:33 +0000 (+0000) Subject: regexp: don't run slow benchmarks on race builders X-Git-Tag: go1.8beta1~1328 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f09d0458d32a965602a346843354f7778b12a375;p=gostls13.git regexp: don't run slow benchmarks on race builders Shave 6.5 minutes off the *-race build time. The *-race builders run: go test -short -race -run=^$ -benchtime=.1s -cpu=4 $PKG ... for each package with benchmarks. The point isn't to measure the speed of the packages, but rather to see if there are any races. (which is why a benchtime of 0.1 seconds is used) But running in race mode makes things slower and our benchmarks aren't all very fast to begin with. The regexp benchmarks in race were taking over 6.5 minutes. With this CL, it's now 8 seconds. Updates #17104 Change-Id: I054528d09b1568d37aac9f9b515d6ed90a5cf5b0 Reviewed-on: https://go-review.googlesource.com/29156 Run-TryBot: Brad Fitzpatrick TryBot-Result: Gobot Gobot Reviewed-by: David Crawshaw --- diff --git a/src/regexp/exec_test.go b/src/regexp/exec_test.go index 69f187e38a..766394de6e 100644 --- a/src/regexp/exec_test.go +++ b/src/regexp/exec_test.go @@ -8,6 +8,7 @@ import ( "bufio" "compress/bzip2" "fmt" + "internal/testenv" "io" "os" "path/filepath" @@ -659,9 +660,14 @@ func makeText(n int) []byte { } func BenchmarkMatch(b *testing.B) { + isRaceBuilder := strings.HasSuffix(testenv.Builder(), "-race") + for _, data := range benchData { r := MustCompile(data.re) for _, size := range benchSizes { + if isRaceBuilder && size.n > 1<<10 { + continue + } t := makeText(size.n) b.Run(data.name+"/"+size.name, func(b *testing.B) { b.SetBytes(int64(size.n))