From 9d37d4c88abc1920e45abc7c2c80a156420090fe Mon Sep 17 00:00:00 2001 From: "Bryan C. Mills" Date: Fri, 10 Feb 2017 15:54:35 -0500 Subject: [PATCH] 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 TryBot-Result: Gobot Gobot Reviewed-by: Brad Fitzpatrick --- src/encoding/xml/marshal_test.go | 16 ++++++++++------ 1 file 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 -- 2.48.1