benchmark old ns/op new ns/op delta
BenchmarkUnmarshal 75256 72626 -3.49%
benchmark old allocs new allocs delta
BenchmarkUnmarshal 259 219 -15.44%
Change-Id: I7fd30739b045e35b95e6ef6a8ef2f15b0dd6839c
Reviewed-on: https://go-review.googlesource.com/2758
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
}
func BenchmarkMarshal(b *testing.B) {
+ b.ReportAllocs()
for i := 0; i < b.N; i++ {
Marshal(atomValue)
}
}
func BenchmarkUnmarshal(b *testing.B) {
+ b.ReportAllocs()
xml := []byte(atomXml)
for i := 0; i < b.N; i++ {
Unmarshal(xml, &Feed{})
}
// Now we check the characters.
- s = d.buf.String()
- if !isName([]byte(s)) {
- d.err = d.syntaxError("invalid XML name: " + s)
+ b := d.buf.Bytes()
+ if !isName(b) {
+ d.err = d.syntaxError("invalid XML name: " + string(b))
return "", false
}
- return s, true
+ return string(b), true
}
// Read a name and append its bytes to d.buf.