blob: c673793c29808b0b71ae561fb31ca40739fb2620 [file] [log] [blame]
package plist
import (
"reflect"
"testing"
"time"
)
func BenchmarkStructUnmarshal(b *testing.B) {
type Data struct {
Intarray []uint64 `plist:"intarray"`
Floats []float64 `plist:"floats"`
Booleans []bool `plist:"booleans"`
Strings []string `plist:"strings"`
Dat []byte `plist:"data"`
Date time.Time `plist:"date"`
}
b.ResetTimer()
for i := 0; i < b.N; i++ {
var xval Data
d := &Decoder{}
d.unmarshal(plistValueTree, reflect.ValueOf(&xval))
}
}
func BenchmarkInterfaceUnmarshal(b *testing.B) {
for i := 0; i < b.N; i++ {
var xval interface{}
d := &Decoder{}
d.unmarshal(plistValueTree, reflect.ValueOf(&xval))
}
}
func BenchmarkLargeArrayUnmarshal(b *testing.B) {
var xval [1024]byte
pval := cfData(make([]byte, 1024))
b.ResetTimer()
for i := 0; i < b.N; i++ {
d := &Decoder{}
d.unmarshal(pval, reflect.ValueOf(&xval))
}
}