]> Cypherpunks repositories - gostls13.git/commitdiff
encoding/json: make BenchmarkSkipValue more stable
authorJosh Bleecher Snyder <josharian@gmail.com>
Thu, 14 May 2015 02:27:59 +0000 (19:27 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Thu, 14 May 2015 02:32:28 +0000 (02:32 +0000)
BenchmarkSkipValue was sensitive to the value of
b.N due to its significant startup cost.

Two adjacent runs before this CL:

BenchmarkSkipValue       50   21047499 ns/op   93.37 MB/s
BenchmarkSkipValue      100   17260554 ns/op  118.05 MB/s

After this CL, using benchtime to recreate the
difference in b.N:

BenchmarkSkipValue       50   15204797 ns/op  131.67 MB/s
BenchmarkSkipValue      100   15332319 ns/op  130.58 MB/s

Change-Id: Iac86f86dd774d535302fa5e4c08f89f8da00be9e
Reviewed-on: https://go-review.googlesource.com/10053
Reviewed-by: Andrew Gerrand <adg@golang.org>
src/encoding/json/scanner_test.go

index 78803429029357322a253ec135c4da90e0170300..66383ef0ef7565833e79736a493ec1eddc473eab 100644 (file)
@@ -209,6 +209,7 @@ var benchScan scanner
 
 func BenchmarkSkipValue(b *testing.B) {
        initBig()
+       b.ResetTimer()
        for i := 0; i < b.N; i++ {
                nextValue(jsonBig, &benchScan)
        }