diff options
author | Bryan C. Mills <bcmills@google.com> | 2017-02-10 15:54:35 -0500 |
---|---|---|
committer | Bryan Mills <bcmills@google.com> | 2017-04-26 19:04:03 +0000 |
commit | 9d37d4c88abc1920e45abc7c2c80a156420090fe (patch) | |
tree | 16acd4b670fa1df126e8236aea13c7993c7d0644 /src/encoding/xml | |
parent | 959025c0ac97ec3533ef9f3f70d64453352a7b56 (diff) | |
download | go-9d37d4c88abc1920e45abc7c2c80a156420090fe.tar.gz go-9d37d4c88abc1920e45abc7c2c80a156420090fe.zip |
encoding/xml: parallelize benchmarks
Results remain comparable with the non-parallel version with -cpu=1:
benchmark old ns/op new ns/op delta
BenchmarkMarshal 31220 28618 -8.33%
BenchmarkMarshal-6 37181 7658 -79.40%
BenchmarkUnmarshal 81837 83522 +2.06%
BenchmarkUnmarshal-6 96339 18244 -81.06%
benchmark old allocs new allocs delta
BenchmarkMarshal 23 23 +0.00%
BenchmarkMarshal-6 23 23 +0.00%
BenchmarkUnmarshal 189 189 +0.00%
BenchmarkUnmarshal-6 189 189 +0.00%
benchmark old bytes new bytes delta
BenchmarkMarshal 5776 5776 +0.00%
BenchmarkMarshal-6 5776 5776 +0.00%
BenchmarkUnmarshal 8576 8576 +0.00%
BenchmarkUnmarshal-6 8576 8576 +0.00%
updates #18177
Change-Id: I7e7055a11d18896bd54d7d773f2ec64767cdb4c8
Reviewed-on: https://go-review.googlesource.com/36810
Run-TryBot: Bryan Mills <bcmills@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Diffstat (limited to 'src/encoding/xml')
-rw-r--r-- | src/encoding/xml/marshal_test.go | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/src/encoding/xml/marshal_test.go b/src/encoding/xml/marshal_test.go index 4fb901f258..674c6b5b3f 100644 --- a/src/encoding/xml/marshal_test.go +++ b/src/encoding/xml/marshal_test.go @@ -1901,17 +1901,21 @@ func TestMarshalFlush(t *testing.T) { func BenchmarkMarshal(b *testing.B) { b.ReportAllocs() - for i := 0; i < b.N; i++ { - Marshal(atomValue) - } + b.RunParallel(func(pb *testing.PB) { + for pb.Next() { + Marshal(atomValue) + } + }) } func BenchmarkUnmarshal(b *testing.B) { b.ReportAllocs() xml := []byte(atomXml) - for i := 0; i < b.N; i++ { - Unmarshal(xml, &Feed{}) - } + b.RunParallel(func(pb *testing.PB) { + for pb.Next() { + Unmarshal(xml, &Feed{}) + } + }) } // golang.org/issue/6556 |