123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190 |
- // +build use_ffjson
- package benchmark
- import (
- "testing"
- "github.com/pquerna/ffjson/ffjson"
- )
- func BenchmarkFF_Unmarshal_M(b *testing.B) {
- b.SetBytes(int64(len(largeStructText)))
- for i := 0; i < b.N; i++ {
- var s LargeStruct
- err := ffjson.UnmarshalFast(largeStructText, &s)
- if err != nil {
- b.Error(err)
- }
- }
- }
- func BenchmarkFF_Unmarshal_S(b *testing.B) {
- for i := 0; i < b.N; i++ {
- var s Entities
- err := ffjson.UnmarshalFast(smallStructText, &s)
- if err != nil {
- b.Error(err)
- }
- }
- b.SetBytes(int64(len(smallStructText)))
- }
- func BenchmarkFF_Marshal_M(b *testing.B) {
- var l int64
- for i := 0; i < b.N; i++ {
- data, err := ffjson.MarshalFast(&largeStructData)
- if err != nil {
- b.Error(err)
- }
- l = int64(len(data))
- }
- b.SetBytes(l)
- }
- func BenchmarkFF_Marshal_S(b *testing.B) {
- var l int64
- for i := 0; i < b.N; i++ {
- data, err := ffjson.MarshalFast(&smallStructData)
- if err != nil {
- b.Error(err)
- }
- l = int64(len(data))
- }
- b.SetBytes(l)
- }
- func BenchmarkFF_Marshal_M_Pool(b *testing.B) {
- var l int64
- for i := 0; i < b.N; i++ {
- data, err := ffjson.MarshalFast(&largeStructData)
- if err != nil {
- b.Error(err)
- }
- l = int64(len(data))
- ffjson.Pool(data)
- }
- b.SetBytes(l)
- }
- func BenchmarkFF_Marshal_L(b *testing.B) {
- var l int64
- for i := 0; i < b.N; i++ {
- data, err := ffjson.MarshalFast(&xlStructData)
- if err != nil {
- b.Error(err)
- }
- l = int64(len(data))
- }
- b.SetBytes(l)
- }
- func BenchmarkFF_Marshal_L_Pool(b *testing.B) {
- var l int64
- for i := 0; i < b.N; i++ {
- data, err := ffjson.MarshalFast(&xlStructData)
- if err != nil {
- b.Error(err)
- }
- l = int64(len(data))
- ffjson.Pool(data)
- }
- b.SetBytes(l)
- }
- func BenchmarkFF_Marshal_L_Pool_Parallel(b *testing.B) {
- var l int64
- for i := 0; i < b.N; i++ {
- data, err := ffjson.MarshalFast(&xlStructData)
- if err != nil {
- b.Error(err)
- }
- l = int64(len(data))
- ffjson.Pool(data)
- }
- b.SetBytes(l)
- }
- func BenchmarkFF_Marshal_M_Pool_Parallel(b *testing.B) {
- var l int64
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- data, err := ffjson.MarshalFast(&largeStructData)
- if err != nil {
- b.Error(err)
- }
- l = int64(len(data))
- ffjson.Pool(data)
- }
- })
- b.SetBytes(l)
- }
- func BenchmarkFF_Marshal_S_Pool(b *testing.B) {
- var l int64
- for i := 0; i < b.N; i++ {
- data, err := ffjson.MarshalFast(&smallStructData)
- if err != nil {
- b.Error(err)
- }
- l = int64(len(data))
- ffjson.Pool(data)
- }
- b.SetBytes(l)
- }
- func BenchmarkFF_Marshal_S_Pool_Parallel(b *testing.B) {
- var l int64
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- data, err := ffjson.MarshalFast(&smallStructData)
- if err != nil {
- b.Error(err)
- }
- l = int64(len(data))
- ffjson.Pool(data)
- }
- })
- b.SetBytes(l)
- }
- func BenchmarkFF_Marshal_S_Parallel(b *testing.B) {
- var l int64
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- data, err := ffjson.MarshalFast(&smallStructData)
- if err != nil {
- b.Error(err)
- }
- l = int64(len(data))
- }
- })
- b.SetBytes(l)
- }
- func BenchmarkFF_Marshal_M_Parallel(b *testing.B) {
- var l int64
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- data, err := ffjson.MarshalFast(&largeStructData)
- if err != nil {
- b.Error(err)
- }
- l = int64(len(data))
- }
- })
- b.SetBytes(l)
- }
- func BenchmarkFF_Marshal_L_Parallel(b *testing.B) {
- var l int64
- b.RunParallel(func(pb *testing.PB) {
- for pb.Next() {
- data, err := ffjson.MarshalFast(&xlStructData)
- if err != nil {
- b.Error(err)
- }
- l = int64(len(data))
- }
- })
- b.SetBytes(l)
- }
|