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>
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