]> Cypherpunks repositories - gostls13.git/commitdiff
testing: remove claim that b.Run is safe for concurrent use
authorRuss Cox <rsc@golang.org>
Wed, 29 Nov 2017 21:31:47 +0000 (16:31 -0500)
committerRuss Cox <rsc@golang.org>
Fri, 1 Dec 2017 00:24:53 +0000 (00:24 +0000)
It's not safe (it crashes), and it's also useless: if you run
multiple benchmarks in parallel you will not get reliable
timing results from any of them.

Fixes #18603.

Change-Id: I00e5a72f7c98151543cf7d5573c38383276e391a
Reviewed-on: https://go-review.googlesource.com/80841
Reviewed-by: Ian Lance Taylor <iant@golang.org>
src/testing/benchmark.go

index 2d0de180d71863f9b30a72cee389221091c0d555..4d569b79712b971bb9edb6555397cf383e24a7dd 100644 (file)
@@ -475,9 +475,6 @@ func (ctx *benchContext) processBench(b *B) {
 //
 // A subbenchmark is like any other benchmark. A benchmark that calls Run at
 // least once will not be measured itself and will be called once with N=1.
-//
-// Run may be called simultaneously from multiple goroutines, but all such
-// calls must return before the outer benchmark function for b returns.
 func (b *B) Run(name string, f func(b *B)) bool {
        // Since b has subbenchmarks, we will no longer run it as a benchmark itself.
        // Release the lock and acquire it on exit to ensure locks stay paired.