testing: change benchmark example function

Change to rand.Int, a function that the compiler cannot reliably eliminate.
Fix output to actual benchmark values.

Fixes #37341

Change-Id: Ifb5bf49b826ae0bdb4bf9de5a472ad0eaa54569c
Reviewed-on: https://go-review.googlesource.com/c/go/+/220397
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Masahiro Furudate 2020-02-21 03:29:43 +09:00 committed by Ian Lance Taylor
parent 5bd145413a
commit 0f2a1574b0

View File

@ -37,17 +37,17 @@
// https://golang.org/cmd/go/#hdr-Testing_flags // https://golang.org/cmd/go/#hdr-Testing_flags
// //
// A sample benchmark function looks like this: // A sample benchmark function looks like this:
// func BenchmarkHello(b *testing.B) { // func BenchmarkRandInt(b *testing.B) {
// for i := 0; i < b.N; i++ { // for i := 0; i < b.N; i++ {
// fmt.Sprintf("hello") // rand.Int()
// } // }
// } // }
// //
// The benchmark function must run the target code b.N times. // The benchmark function must run the target code b.N times.
// During benchmark execution, b.N is adjusted until the benchmark function lasts // During benchmark execution, b.N is adjusted until the benchmark function lasts
// long enough to be timed reliably. The output // long enough to be timed reliably. The output
// BenchmarkHello 10000000 282 ns/op // BenchmarkRandInt-8 68453040 17.8 ns/op
// means that the loop ran 10000000 times at a speed of 282 ns per loop. // means that the loop ran 68453040 times at a speed of 17.8 ns per loop.
// //
// If a benchmark needs some expensive setup before running, the timer // If a benchmark needs some expensive setup before running, the timer
// may be reset: // may be reset: