From 64af440424b2344bf9a36e1fe4ee7b15d4f4c86c Mon Sep 17 00:00:00 2001 From: Yuri Zinchenko Date: Sun, 7 Jul 2024 01:47:18 +0300 Subject: [PATCH] Update mus to v0.3.0 (#172) --- go.mod | 2 +- go.sum | 6 +- internal/serializers/mus/mus.go | 43 +-- report/data.js | 652 ++++++++++++++++---------------- 4 files changed, 350 insertions(+), 353 deletions(-) diff --git a/go.mod b/go.mod index a2e10a6..b63ea83 100644 --- a/go.mod +++ b/go.mod @@ -54,7 +54,7 @@ require ( github.com/minio/sha256-simd v0.1.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/mus-format/mus-go v0.2.3 + github.com/mus-format/mus-go v0.3.0 github.com/philhofer/fwd v1.1.2 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/protolambda/zssz v0.1.1 // indirect diff --git a/go.sum b/go.sum index b8fdfea..35efbc5 100644 --- a/go.sum +++ b/go.sum @@ -34,8 +34,6 @@ github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJm github.com/calmh/xdr v1.1.0 h1:U/Dd4CXNLoo8EiQ4ulJUXkgO1/EyQLgDKLgpY1SOoJE= github.com/calmh/xdr v1.1.0/go.mod h1:E8sz2ByAdXC8MbANf1LCRYzedSnnc+/sXXJs/PVqoeg= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/chmike/ditp v0.0.0-20240621105623-1fe3e031524f h1:fxT+cPh0H+xo8ojX5O1zt/o/vTf7oeKdpk7r7asg2fs= -github.com/chmike/ditp v0.0.0-20240621105623-1fe3e031524f/go.mod h1:Az8w1aHUmNFs7+C7v41Y/cpXIBafvOs+7J7M/KGsM1c= github.com/chmike/ditp v0.0.0-20240629115045-1ab5bbd646cd h1:ImEBzQdUJ6jx65nsFrBlNNV8um9lW4ApGEa+mIjXOZQ= github.com/chmike/ditp v0.0.0-20240629115045-1ab5bbd646cd/go.mod h1:Az8w1aHUmNFs7+C7v41Y/cpXIBafvOs+7J7M/KGsM1c= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= @@ -200,8 +198,8 @@ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjY github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= github.com/mus-format/common-go v0.0.0-20240427160332-fda7f59c1da2 h1:VlQlK11OtURHQ1VsdHcp9OFq56i8HEIHURgfEtP9Jek= github.com/mus-format/common-go v0.0.0-20240427160332-fda7f59c1da2/go.mod h1:1hTb8w0YdSGIOU6wNY+e9uXnDZ9OQnUivNtd8cPSdoU= -github.com/mus-format/mus-go v0.2.3 h1:HZ4NqdThMV2js9/goQueFqxAHaMBZDGBPwOwFv5f3LA= -github.com/mus-format/mus-go v0.2.3/go.mod h1:uRQAo0t2WbvKZ9Iz5wdZV4s5eq1LsTS9dSizQeV9s+M= +github.com/mus-format/mus-go v0.3.0 h1:OUBb/uWaaVPVpmyOo+DUVdjw5dkxQ1TCG3HO8q/Gyq8= +github.com/mus-format/mus-go v0.3.0/go.mod h1:uRQAo0t2WbvKZ9Iz5wdZV4s5eq1LsTS9dSizQeV9s+M= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/nazarifard/fastape v0.0.0-20240611084216-abaecf150e5b h1:Roh7HBLqAxLpo/qxWztQlzt6QUBGTCX9AXxCaJf+pB8= github.com/nazarifard/fastape v0.0.0-20240611084216-abaecf150e5b/go.mod h1:F54tpGg4uMgsYNUqD07iNENNGcS2GJobr+td/iZ5Xm4= diff --git a/internal/serializers/mus/mus.go b/internal/serializers/mus/mus.go index 962deb1..4064bc8 100644 --- a/internal/serializers/mus/mus.go +++ b/internal/serializers/mus/mus.go @@ -7,25 +7,24 @@ import ( "github.com/mus-format/mus-go/ord" "github.com/mus-format/mus-go/raw" "github.com/mus-format/mus-go/unsafe" - "github.com/mus-format/mus-go/varint" ) type MUSSerializer struct{} func (s MUSSerializer) Marshal(o interface{}) ([]byte, error) { v := o.(*goserbench.SmallStruct) - n := ord.SizeString(v.Name) - n += raw.SizeInt64(v.BirthDay.UnixNano()) - n += ord.SizeString(v.Phone) - n += varint.SizeInt32(int32(v.Siblings)) - n += ord.SizeBool(v.Spouse) - n += raw.SizeFloat64(v.Money) + n := ord.SizeString(v.Name, nil) + n += unsafe.SizeInt64(v.BirthDay.UnixNano()) + n += ord.SizeString(v.Phone, nil) + n += unsafe.SizeInt32(int32(v.Siblings)) + n += unsafe.SizeBool(v.Spouse) + n += unsafe.SizeFloat64(v.Money) buf := make([]byte, n) - n = ord.MarshalString(v.Name, buf) - n += raw.MarshalInt64(v.BirthDay.UnixNano(), buf[n:]) - n += ord.MarshalString(v.Phone, buf[n:]) - n += varint.MarshalInt32(int32(v.Siblings), buf[n:]) - n += ord.MarshalBool(v.Spouse, buf[n:]) + n = ord.MarshalString(v.Name, nil, buf) + n += unsafe.MarshalInt64(v.BirthDay.UnixNano(), buf[n:]) + n += ord.MarshalString(v.Phone, nil, buf[n:]) + n += unsafe.MarshalInt32(int32(v.Siblings), buf[n:]) + n += unsafe.MarshalBool(v.Spouse, buf[n:]) raw.MarshalFloat64(v.Money, buf[n:]) return buf, nil } @@ -33,7 +32,7 @@ func (s MUSSerializer) Marshal(o interface{}) ([]byte, error) { func (s MUSSerializer) Unmarshal(bs []byte, o interface{}) (err error) { v := o.(*goserbench.SmallStruct) var n int - v.Name, n, err = ord.UnmarshalString(bs) + v.Name, n, err = ord.UnmarshalString(nil, bs) if err != nil { return } @@ -41,30 +40,30 @@ func (s MUSSerializer) Unmarshal(bs []byte, o interface{}) (err error) { n1 int birthDay64 int64 ) - birthDay64, n1, err = raw.UnmarshalInt64(bs[n:]) + birthDay64, n1, err = unsafe.UnmarshalInt64(bs[n:]) n += n1 if err != nil { return } v.BirthDay = time.Unix(0, birthDay64) - v.Phone, n1, err = ord.UnmarshalString(bs[n:]) + v.Phone, n1, err = ord.UnmarshalString(nil, bs[n:]) n += n1 if err != nil { return } var siblings32 int32 - siblings32, n1, err = varint.UnmarshalInt32(bs[n:]) + siblings32, n1, err = unsafe.UnmarshalInt32(bs[n:]) n += n1 if err != nil { return } v.Siblings = int(siblings32) - v.Spouse, n1, err = ord.UnmarshalBool(bs[n:]) + v.Spouse, n1, err = unsafe.UnmarshalBool(bs[n:]) n += n1 if err != nil { return } - v.Money, n1, err = raw.UnmarshalFloat64(bs[n:]) + v.Money, n1, err = unsafe.UnmarshalFloat64(bs[n:]) n += n1 return } @@ -79,9 +78,9 @@ type MUSUnsafeReuseSerializer struct { func (s MUSUnsafeReuseSerializer) Marshal(o interface{}) ([]byte, error) { v := o.(*goserbench.SmallStruct) - n := unsafe.MarshalString(v.Name, s.buf) + n := unsafe.MarshalString(v.Name, nil, s.buf) n += unsafe.MarshalInt64(v.BirthDay.UnixNano(), s.buf[n:]) - n += unsafe.MarshalString(v.Phone, s.buf[n:]) + n += unsafe.MarshalString(v.Phone, nil, s.buf[n:]) n += unsafe.MarshalInt32(int32(v.Siblings), s.buf[n:]) n += unsafe.MarshalBool(v.Spouse, s.buf[n:]) n += unsafe.MarshalFloat64(v.Money, s.buf[n:]) @@ -91,7 +90,7 @@ func (s MUSUnsafeReuseSerializer) Marshal(o interface{}) ([]byte, error) { func (s MUSUnsafeReuseSerializer) Unmarshal(bs []byte, o interface{}) (err error) { v := o.(*goserbench.SmallStruct) var n int - v.Name, n, err = unsafe.UnmarshalString(bs) + v.Name, n, err = unsafe.UnmarshalString(nil, bs) if err != nil { return } @@ -105,7 +104,7 @@ func (s MUSUnsafeReuseSerializer) Unmarshal(bs []byte, o interface{}) (err error return } v.BirthDay = time.Unix(0, birthDay64) - v.Phone, n1, err = unsafe.UnmarshalString(bs[n:]) + v.Phone, n1, err = unsafe.UnmarshalString(nil, bs[n:]) n += n1 if err != nil { return diff --git a/report/data.js b/report/data.js index 5a5392d..a3635ea 100644 --- a/report/data.js +++ b/report/data.js @@ -1,14 +1,14 @@ var data = [ { "name": "gotiny", - "marshal_iter_count": 7071583, - "unmarshal_iter_count": 18814994, - "total_iter_count": 25886577, + "marshal_iter_count": 3895011, + "unmarshal_iter_count": 5971047, + "total_iter_count": 9866058, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 164, - "unmarshal_ns_op": 62, - "total_ns_op": 226, + "marshal_ns_op": 462, + "unmarshal_ns_op": 187, + "total_ns_op": 649, "serialization_size": 47, "marshal_alloc_bytes": 168, "unmarshal_alloc_bytes": 32, @@ -23,14 +23,14 @@ var data = [ }, { "name": "msgp", - "marshal_iter_count": 20747545, - "unmarshal_iter_count": 15225632, - "total_iter_count": 35973177, + "marshal_iter_count": 5975139, + "unmarshal_iter_count": 4699743, + "total_iter_count": 10674882, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 57, - "unmarshal_ns_op": 77, - "total_ns_op": 134, + "marshal_ns_op": 191, + "unmarshal_ns_op": 239, + "total_ns_op": 430, "serialization_size": 97, "marshal_alloc_bytes": 128, "unmarshal_alloc_bytes": 32, @@ -45,14 +45,14 @@ var data = [ }, { "name": "msgpack", - "marshal_iter_count": 3946892, - "unmarshal_iter_count": 3438451, - "total_iter_count": 7385343, + "marshal_iter_count": 1000000, + "unmarshal_iter_count": 1532182, + "total_iter_count": 2532182, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 304, - "unmarshal_ns_op": 349, - "total_ns_op": 653, + "marshal_ns_op": 1078, + "unmarshal_ns_op": 705, + "total_ns_op": 1783, "serialization_size": 92, "marshal_alloc_bytes": 264, "unmarshal_alloc_bytes": 80, @@ -67,15 +67,15 @@ var data = [ }, { "name": "json", - "marshal_iter_count": 2502960, - "unmarshal_iter_count": 1000000, - "total_iter_count": 3502960, + "marshal_iter_count": 1000000, + "unmarshal_iter_count": 522256, + "total_iter_count": 1522256, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 479, - "unmarshal_ns_op": 1181, - "total_ns_op": 1660, - "serialization_size": 148, + "marshal_ns_op": 1679, + "unmarshal_ns_op": 2612, + "total_ns_op": 4291, + "serialization_size": 151, "marshal_alloc_bytes": 208, "unmarshal_alloc_bytes": 248, "total_alloc_bytes": 456, @@ -89,21 +89,21 @@ var data = [ }, { "name": "jsoniter", - "marshal_iter_count": 4058624, - "unmarshal_iter_count": 2911056, - "total_iter_count": 6969680, + "marshal_iter_count": 1000000, + "unmarshal_iter_count": 1248553, + "total_iter_count": 2248553, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 295, - "unmarshal_ns_op": 416, - "total_ns_op": 711, - "serialization_size": 138, + "marshal_ns_op": 1020, + "unmarshal_ns_op": 999, + "total_ns_op": 2019, + "serialization_size": 141, "marshal_alloc_bytes": 200, - "unmarshal_alloc_bytes": 135, - "total_alloc_bytes": 335, + "unmarshal_alloc_bytes": 136, + "total_alloc_bytes": 336, "marshal_allocs": 3, - "unmarshal_allocs": 4, - "total_allocs": 7, + "unmarshal_allocs": 5, + "total_allocs": 8, "time_support": "custom", "api_kind": "reflect", "url": "github.com/json-iterator/go", @@ -111,15 +111,15 @@ var data = [ }, { "name": "easyjson", - "marshal_iter_count": 2773438, - "unmarshal_iter_count": 3253478, - "total_iter_count": 6026916, + "marshal_iter_count": 782246, + "unmarshal_iter_count": 1963227, + "total_iter_count": 2745473, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 438, - "unmarshal_ns_op": 378, - "total_ns_op": 816, - "serialization_size": 148, + "marshal_ns_op": 1314, + "unmarshal_ns_op": 631, + "total_ns_op": 1945, + "serialization_size": 151, "marshal_alloc_bytes": 976, "unmarshal_alloc_bytes": 32, "total_alloc_bytes": 1008, @@ -133,14 +133,14 @@ var data = [ }, { "name": "bson", - "marshal_iter_count": 3365534, - "unmarshal_iter_count": 1906280, - "total_iter_count": 5271814, + "marshal_iter_count": 1000000, + "unmarshal_iter_count": 1005714, + "total_iter_count": 2005714, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 366, - "unmarshal_ns_op": 627, - "total_ns_op": 993, + "marshal_ns_op": 1257, + "unmarshal_ns_op": 1133, + "total_ns_op": 2390, "serialization_size": 110, "marshal_alloc_bytes": 376, "unmarshal_alloc_bytes": 144, @@ -155,14 +155,14 @@ var data = [ }, { "name": "mongobson", - "marshal_iter_count": 2312576, - "unmarshal_iter_count": 2002988, - "total_iter_count": 4315564, + "marshal_iter_count": 811833, + "unmarshal_iter_count": 538524, + "total_iter_count": 1350357, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 521, - "unmarshal_ns_op": 599, - "total_ns_op": 1120, + "marshal_ns_op": 1696, + "unmarshal_ns_op": 2058, + "total_ns_op": 3754, "serialization_size": 110, "marshal_alloc_bytes": 240, "unmarshal_alloc_bytes": 328, @@ -177,18 +177,18 @@ var data = [ }, { "name": "gob", - "marshal_iter_count": 588170, - "unmarshal_iter_count": 123244, - "total_iter_count": 711414, + "marshal_iter_count": 188262, + "unmarshal_iter_count": 35584, + "total_iter_count": 223846, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1998, - "unmarshal_ns_op": 9392, - "total_ns_op": 11390, + "marshal_ns_op": 6683, + "unmarshal_ns_op": 33482, + "total_ns_op": 40165, "serialization_size": 172, "marshal_alloc_bytes": 1744, - "unmarshal_alloc_bytes": 7657, - "total_alloc_bytes": 9401, + "unmarshal_alloc_bytes": 7656, + "total_alloc_bytes": 9400, "marshal_allocs": 37, "unmarshal_allocs": 203, "total_allocs": 240, @@ -199,18 +199,18 @@ var data = [ }, { "name": "davecgh/xdr", - "marshal_iter_count": 2322944, - "unmarshal_iter_count": 3030514, - "total_iter_count": 5353458, + "marshal_iter_count": 619377, + "unmarshal_iter_count": 1000000, + "total_iter_count": 1619377, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 485, - "unmarshal_ns_op": 394, - "total_ns_op": 879, - "serialization_size": 88, - "marshal_alloc_bytes": 376, - "unmarshal_alloc_bytes": 136, - "total_alloc_bytes": 512, + "marshal_ns_op": 1717, + "unmarshal_ns_op": 1091, + "total_ns_op": 2808, + "serialization_size": 91, + "marshal_alloc_bytes": 391, + "unmarshal_alloc_bytes": 152, + "total_alloc_bytes": 543, "marshal_allocs": 19, "unmarshal_allocs": 10, "total_allocs": 29, @@ -221,14 +221,14 @@ var data = [ }, { "name": "ugorji/msgpack", - "marshal_iter_count": 2925069, - "unmarshal_iter_count": 3025009, - "total_iter_count": 5950078, + "marshal_iter_count": 1000000, + "unmarshal_iter_count": 812904, + "total_iter_count": 1812904, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 406, - "unmarshal_ns_op": 400, - "total_ns_op": 806, + "marshal_ns_op": 1076, + "unmarshal_ns_op": 1385, + "total_ns_op": 2461, "serialization_size": 91, "marshal_alloc_bytes": 1240, "unmarshal_alloc_bytes": 608, @@ -243,14 +243,14 @@ var data = [ }, { "name": "ugorji/binc", - "marshal_iter_count": 2786007, - "unmarshal_iter_count": 2999649, - "total_iter_count": 5785656, + "marshal_iter_count": 813634, + "unmarshal_iter_count": 934522, + "total_iter_count": 1748156, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 426, - "unmarshal_ns_op": 396, - "total_ns_op": 822, + "marshal_ns_op": 1295, + "unmarshal_ns_op": 1239, + "total_ns_op": 2534, "serialization_size": 95, "marshal_alloc_bytes": 1256, "unmarshal_alloc_bytes": 672, @@ -265,14 +265,14 @@ var data = [ }, { "name": "sereal", - "marshal_iter_count": 1000000, - "unmarshal_iter_count": 1000000, - "total_iter_count": 2000000, + "marshal_iter_count": 308019, + "unmarshal_iter_count": 300321, + "total_iter_count": 608340, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1024, - "unmarshal_ns_op": 1142, - "total_ns_op": 2166, + "marshal_ns_op": 3696, + "unmarshal_ns_op": 3802, + "total_ns_op": 7498, "serialization_size": 142, "marshal_alloc_bytes": 1104, "unmarshal_alloc_bytes": 896, @@ -287,14 +287,14 @@ var data = [ }, { "name": "alecthomas/binary", - "marshal_iter_count": 1932457, - "unmarshal_iter_count": 2395407, - "total_iter_count": 4327864, + "marshal_iter_count": 534363, + "unmarshal_iter_count": 700326, + "total_iter_count": 1234689, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 621, - "unmarshal_ns_op": 500, - "total_ns_op": 1121, + "marshal_ns_op": 1927, + "unmarshal_ns_op": 1437, + "total_ns_op": 3364, "serialization_size": 61, "marshal_alloc_bytes": 360, "unmarshal_alloc_bytes": 240, @@ -309,14 +309,14 @@ var data = [ }, { "name": "flatbuffers", - "marshal_iter_count": 3921926, - "unmarshal_iter_count": 17101354, - "total_iter_count": 21023280, + "marshal_iter_count": 964870, + "unmarshal_iter_count": 5732846, + "total_iter_count": 6697716, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 305, - "unmarshal_ns_op": 69, - "total_ns_op": 374, + "marshal_ns_op": 1080, + "unmarshal_ns_op": 203, + "total_ns_op": 1283, "serialization_size": 95, "marshal_alloc_bytes": 376, "unmarshal_alloc_bytes": 32, @@ -331,14 +331,14 @@ var data = [ }, { "name": "capnproto", - "marshal_iter_count": 1776957, - "unmarshal_iter_count": 6596524, - "total_iter_count": 8373481, + "marshal_iter_count": 534721, + "unmarshal_iter_count": 1995664, + "total_iter_count": 2530385, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 673, - "unmarshal_ns_op": 181, - "total_ns_op": 854, + "marshal_ns_op": 2103, + "unmarshal_ns_op": 612, + "total_ns_op": 2715, "serialization_size": 96, "marshal_alloc_bytes": 4392, "unmarshal_alloc_bytes": 112, @@ -353,18 +353,18 @@ var data = [ }, { "name": "hprose", - "marshal_iter_count": 3788844, - "unmarshal_iter_count": 2950160, - "total_iter_count": 6739004, + "marshal_iter_count": 1855124, + "unmarshal_iter_count": 930094, + "total_iter_count": 2785218, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 317, - "unmarshal_ns_op": 403, - "total_ns_op": 720, - "serialization_size": 82, - "marshal_alloc_bytes": 419, + "marshal_ns_op": 542, + "unmarshal_ns_op": 1375, + "total_ns_op": 1917, + "serialization_size": 85, + "marshal_alloc_bytes": 433, "unmarshal_alloc_bytes": 224, - "total_alloc_bytes": 643, + "total_alloc_bytes": 657, "marshal_allocs": 8, "unmarshal_allocs": 9, "total_allocs": 17, @@ -375,15 +375,15 @@ var data = [ }, { "name": "hprose2", - "marshal_iter_count": 6914551, - "unmarshal_iter_count": 6254019, - "total_iter_count": 13168570, + "marshal_iter_count": 4461513, + "unmarshal_iter_count": 2671125, + "total_iter_count": 7132638, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 173, - "unmarshal_ns_op": 191, - "total_ns_op": 364, - "serialization_size": 82, + "marshal_ns_op": 248, + "unmarshal_ns_op": 526, + "total_ns_op": 774, + "serialization_size": 85, "marshal_alloc_bytes": 0, "unmarshal_alloc_bytes": 56, "total_alloc_bytes": 56, @@ -397,14 +397,14 @@ var data = [ }, { "name": "dedis/protobuf", - "marshal_iter_count": 4499386, - "unmarshal_iter_count": 4121388, - "total_iter_count": 8620774, + "marshal_iter_count": 1450045, + "unmarshal_iter_count": 1566394, + "total_iter_count": 3016439, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 266, - "unmarshal_ns_op": 290, - "total_ns_op": 556, + "marshal_ns_op": 808, + "unmarshal_ns_op": 838, + "total_ns_op": 1646, "serialization_size": 52, "marshal_alloc_bytes": 144, "unmarshal_alloc_bytes": 104, @@ -419,14 +419,14 @@ var data = [ }, { "name": "pulsar", - "marshal_iter_count": 5247339, - "unmarshal_iter_count": 5990532, - "total_iter_count": 11237871, + "marshal_iter_count": 1525116, + "unmarshal_iter_count": 1765838, + "total_iter_count": 3290954, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 226, - "unmarshal_ns_op": 198, - "total_ns_op": 424, + "marshal_ns_op": 788, + "unmarshal_ns_op": 677, + "total_ns_op": 1465, "serialization_size": 51, "marshal_alloc_bytes": 304, "unmarshal_alloc_bytes": 160, @@ -441,14 +441,14 @@ var data = [ }, { "name": "gogo/protobuf", - "marshal_iter_count": 26287084, - "unmarshal_iter_count": 18767031, - "total_iter_count": 45054115, + "marshal_iter_count": 6963046, + "unmarshal_iter_count": 5902969, + "total_iter_count": 12866015, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 45, - "unmarshal_ns_op": 63, - "total_ns_op": 108, + "marshal_ns_op": 191, + "unmarshal_ns_op": 192, + "total_ns_op": 383, "serialization_size": 53, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -463,21 +463,21 @@ var data = [ }, { "name": "gogo/jsonpb", - "marshal_iter_count": 282172, - "unmarshal_iter_count": 220912, - "total_iter_count": 503084, + "marshal_iter_count": 79324, + "unmarshal_iter_count": 62077, + "total_iter_count": 141401, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 4217, - "unmarshal_ns_op": 5362, - "total_ns_op": 9579, - "serialization_size": 126, - "marshal_alloc_bytes": 2765, - "unmarshal_alloc_bytes": 3158, - "total_alloc_bytes": 5923, - "marshal_allocs": 80, + "marshal_ns_op": 14544, + "unmarshal_ns_op": 19335, + "total_ns_op": 33879, + "serialization_size": 125, + "marshal_alloc_bytes": 2739, + "unmarshal_alloc_bytes": 3165, + "total_alloc_bytes": 5904, + "marshal_allocs": 79, "unmarshal_allocs": 55, - "total_allocs": 135, + "total_allocs": 134, "time_support": "RFC3339ns", "api_kind": "codegen", "url": "github.com/gogo/protobuf/proto", @@ -485,14 +485,14 @@ var data = [ }, { "name": "colfer", - "marshal_iter_count": 26664888, - "unmarshal_iter_count": 24888196, - "total_iter_count": 51553084, + "marshal_iter_count": 7440633, + "unmarshal_iter_count": 7143366, + "total_iter_count": 14583999, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 44, - "unmarshal_ns_op": 47, - "total_ns_op": 91, + "marshal_ns_op": 156, + "unmarshal_ns_op": 161, + "total_ns_op": 317, "serialization_size": 51, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -507,14 +507,14 @@ var data = [ }, { "name": "gencode", - "marshal_iter_count": 20582277, - "unmarshal_iter_count": 25637396, - "total_iter_count": 46219673, + "marshal_iter_count": 5791008, + "unmarshal_iter_count": 7725613, + "total_iter_count": 13516621, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 58, - "unmarshal_ns_op": 46, - "total_ns_op": 104, + "marshal_ns_op": 205, + "unmarshal_ns_op": 141, + "total_ns_op": 346, "serialization_size": 53, "marshal_alloc_bytes": 80, "unmarshal_alloc_bytes": 32, @@ -529,14 +529,14 @@ var data = [ }, { "name": "gencode/unsafe_reuse", - "marshal_iter_count": 52175896, - "unmarshal_iter_count": 29150269, - "total_iter_count": 81326165, + "marshal_iter_count": 40393777, + "unmarshal_iter_count": 8838566, + "total_iter_count": 49232343, "unsafe_string_unmarshal": true, "buffer_reuse_marshal": true, - "marshal_ns_op": 23, - "unmarshal_ns_op": 39, - "total_ns_op": 62, + "marshal_ns_op": 29, + "unmarshal_ns_op": 137, + "total_ns_op": 166, "serialization_size": 46, "marshal_alloc_bytes": 0, "unmarshal_alloc_bytes": 32, @@ -551,14 +551,14 @@ var data = [ }, { "name": "calmh/xdr", - "marshal_iter_count": 17444764, - "unmarshal_iter_count": 24121290, - "total_iter_count": 41566054, + "marshal_iter_count": 4745427, + "unmarshal_iter_count": 6952904, + "total_iter_count": 11698331, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 68, - "unmarshal_ns_op": 48, - "total_ns_op": 116, + "marshal_ns_op": 251, + "unmarshal_ns_op": 167, + "total_ns_op": 418, "serialization_size": 60, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -573,14 +573,14 @@ var data = [ }, { "name": "goavro", - "marshal_iter_count": 1536250, - "unmarshal_iter_count": 590110, - "total_iter_count": 2126360, + "marshal_iter_count": 448819, + "unmarshal_iter_count": 181978, + "total_iter_count": 630797, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 780, - "unmarshal_ns_op": 1940, - "total_ns_op": 2720, + "marshal_ns_op": 2464, + "unmarshal_ns_op": 6081, + "total_ns_op": 8545, "serialization_size": 47, "marshal_alloc_bytes": 584, "unmarshal_alloc_bytes": 2232, @@ -595,14 +595,14 @@ var data = [ }, { "name": "avro2/text", - "marshal_iter_count": 935386, - "unmarshal_iter_count": 1000000, - "total_iter_count": 1935386, + "marshal_iter_count": 289501, + "unmarshal_iter_count": 317139, + "total_iter_count": 606640, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1198, - "unmarshal_ns_op": 1051, - "total_ns_op": 2249, + "marshal_ns_op": 3927, + "unmarshal_ns_op": 3548, + "total_ns_op": 7475, "serialization_size": 133, "marshal_alloc_bytes": 1320, "unmarshal_alloc_bytes": 656, @@ -617,14 +617,14 @@ var data = [ }, { "name": "avro2/binary", - "marshal_iter_count": 3488578, - "unmarshal_iter_count": 3495427, - "total_iter_count": 6984005, + "marshal_iter_count": 873256, + "unmarshal_iter_count": 908809, + "total_iter_count": 1782065, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 343, - "unmarshal_ns_op": 342, - "total_ns_op": 685, + "marshal_ns_op": 1186, + "unmarshal_ns_op": 1167, + "total_ns_op": 2353, "serialization_size": 47, "marshal_alloc_bytes": 464, "unmarshal_alloc_bytes": 464, @@ -639,14 +639,14 @@ var data = [ }, { "name": "ikea", - "marshal_iter_count": 5904709, - "unmarshal_iter_count": 4989691, - "total_iter_count": 10894400, + "marshal_iter_count": 2028582, + "unmarshal_iter_count": 1652048, + "total_iter_count": 3680630, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 203, - "unmarshal_ns_op": 240, - "total_ns_op": 443, + "marshal_ns_op": 605, + "unmarshal_ns_op": 692, + "total_ns_op": 1297, "serialization_size": 55, "marshal_alloc_bytes": 72, "unmarshal_alloc_bytes": 96, @@ -661,14 +661,14 @@ var data = [ }, { "name": "shamaton/msgpack/map", - "marshal_iter_count": 4997251, - "unmarshal_iter_count": 5407903, - "total_iter_count": 10405154, + "marshal_iter_count": 1452394, + "unmarshal_iter_count": 2170262, + "total_iter_count": 3622656, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 238, - "unmarshal_ns_op": 220, - "total_ns_op": 458, + "marshal_ns_op": 845, + "unmarshal_ns_op": 673, + "total_ns_op": 1518, "serialization_size": 92, "marshal_alloc_bytes": 192, "unmarshal_alloc_bytes": 88, @@ -683,14 +683,14 @@ var data = [ }, { "name": "shamaton/msgpack/array", - "marshal_iter_count": 5551609, - "unmarshal_iter_count": 7013623, - "total_iter_count": 12565232, + "marshal_iter_count": 1664504, + "unmarshal_iter_count": 2163681, + "total_iter_count": 3828185, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 215, - "unmarshal_ns_op": 169, - "total_ns_op": 384, + "marshal_ns_op": 758, + "unmarshal_ns_op": 524, + "total_ns_op": 1282, "serialization_size": 50, "marshal_alloc_bytes": 160, "unmarshal_alloc_bytes": 88, @@ -705,14 +705,14 @@ var data = [ }, { "name": "shamaton/msgpackgen/map", - "marshal_iter_count": 11428402, - "unmarshal_iter_count": 7912022, - "total_iter_count": 19340424, + "marshal_iter_count": 3245535, + "unmarshal_iter_count": 2528337, + "total_iter_count": 5773872, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 105, - "unmarshal_ns_op": 149, - "total_ns_op": 254, + "marshal_ns_op": 355, + "unmarshal_ns_op": 447, + "total_ns_op": 802, "serialization_size": 92, "marshal_alloc_bytes": 176, "unmarshal_alloc_bytes": 112, @@ -727,14 +727,14 @@ var data = [ }, { "name": "shamaton/msgpackgen/array", - "marshal_iter_count": 13002004, - "unmarshal_iter_count": 13472397, - "total_iter_count": 26474401, + "marshal_iter_count": 4041570, + "unmarshal_iter_count": 3818166, + "total_iter_count": 7859736, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 91, - "unmarshal_ns_op": 88, - "total_ns_op": 179, + "marshal_ns_op": 307, + "unmarshal_ns_op": 311, + "total_ns_op": 618, "serialization_size": 50, "marshal_alloc_bytes": 144, "unmarshal_alloc_bytes": 112, @@ -749,14 +749,14 @@ var data = [ }, { "name": "ssz", - "marshal_iter_count": 768139, - "unmarshal_iter_count": 1222155, - "total_iter_count": 1990294, + "marshal_iter_count": 303682, + "unmarshal_iter_count": 573586, + "total_iter_count": 877268, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1520, - "unmarshal_ns_op": 981, - "total_ns_op": 2501, + "marshal_ns_op": 3635, + "unmarshal_ns_op": 1891, + "total_ns_op": 5526, "serialization_size": 55, "marshal_alloc_bytes": 416, "unmarshal_alloc_bytes": 264, @@ -771,14 +771,14 @@ var data = [ }, { "name": "200sc/bebop", - "marshal_iter_count": 31008186, - "unmarshal_iter_count": 28321562, - "total_iter_count": 59329748, + "marshal_iter_count": 10678767, + "unmarshal_iter_count": 8099786, + "total_iter_count": 18778553, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 38, - "unmarshal_ns_op": 41, - "total_ns_op": 79, + "marshal_ns_op": 125, + "unmarshal_ns_op": 144, + "total_ns_op": 269, "serialization_size": 55, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -793,14 +793,14 @@ var data = [ }, { "name": "200sc/bebop/reuse", - "marshal_iter_count": 50586309, - "unmarshal_iter_count": 28328166, - "total_iter_count": 78914475, + "marshal_iter_count": 38773785, + "unmarshal_iter_count": 9199006, + "total_iter_count": 47972791, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": true, - "marshal_ns_op": 23, - "unmarshal_ns_op": 41, - "total_ns_op": 64, + "marshal_ns_op": 30, + "unmarshal_ns_op": 146, + "total_ns_op": 176, "serialization_size": 55, "marshal_alloc_bytes": 0, "unmarshal_alloc_bytes": 32, @@ -815,14 +815,14 @@ var data = [ }, { "name": "wellquite/bebop", - "marshal_iter_count": 30078296, - "unmarshal_iter_count": 25873615, - "total_iter_count": 55951911, + "marshal_iter_count": 8134230, + "unmarshal_iter_count": 7184541, + "total_iter_count": 15318771, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 39, - "unmarshal_ns_op": 45, - "total_ns_op": 84, + "marshal_ns_op": 144, + "unmarshal_ns_op": 165, + "total_ns_op": 309, "serialization_size": 55, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -837,14 +837,14 @@ var data = [ }, { "name": "wellquite/bebop/reuse", - "marshal_iter_count": 48949788, - "unmarshal_iter_count": 25876591, - "total_iter_count": 74826379, + "marshal_iter_count": 37181143, + "unmarshal_iter_count": 8536006, + "total_iter_count": 45717149, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": true, - "marshal_ns_op": 24, - "unmarshal_ns_op": 45, - "total_ns_op": 69, + "marshal_ns_op": 31, + "unmarshal_ns_op": 159, + "total_ns_op": 190, "serialization_size": 55, "marshal_alloc_bytes": 0, "unmarshal_alloc_bytes": 32, @@ -859,14 +859,14 @@ var data = [ }, { "name": "fastjson", - "marshal_iter_count": 1601194, - "unmarshal_iter_count": 1529827, - "total_iter_count": 3131021, + "marshal_iter_count": 471280, + "unmarshal_iter_count": 455871, + "total_iter_count": 927151, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 744, - "unmarshal_ns_op": 789, - "total_ns_op": 1533, + "marshal_ns_op": 2456, + "unmarshal_ns_op": 2537, + "total_ns_op": 4993, "serialization_size": 133, "marshal_alloc_bytes": 1864, "unmarshal_alloc_bytes": 1800, @@ -881,14 +881,14 @@ var data = [ }, { "name": "fastjson/reuse", - "marshal_iter_count": 2014970, - "unmarshal_iter_count": 1523084, - "total_iter_count": 3538054, + "marshal_iter_count": 549964, + "unmarshal_iter_count": 460018, + "total_iter_count": 1009982, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": true, - "marshal_ns_op": 595, - "unmarshal_ns_op": 784, - "total_ns_op": 1379, + "marshal_ns_op": 1996, + "unmarshal_ns_op": 2537, + "total_ns_op": 4533, "serialization_size": 133, "marshal_alloc_bytes": 1360, "unmarshal_alloc_bytes": 1800, @@ -903,14 +903,14 @@ var data = [ }, { "name": "benc", - "marshal_iter_count": 37567356, - "unmarshal_iter_count": 29419995, - "total_iter_count": 66987351, + "marshal_iter_count": 9459133, + "unmarshal_iter_count": 8972798, + "total_iter_count": 18431931, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 31, - "unmarshal_ns_op": 40, - "total_ns_op": 71, + "marshal_ns_op": 126, + "unmarshal_ns_op": 135, + "total_ns_op": 261, "serialization_size": 51, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -925,14 +925,14 @@ var data = [ }, { "name": "benc/usafe", - "marshal_iter_count": 37750340, - "unmarshal_iter_count": 70620084, - "total_iter_count": 108370424, + "marshal_iter_count": 9568599, + "unmarshal_iter_count": 50633494, + "total_iter_count": 60202093, "unsafe_string_unmarshal": true, "buffer_reuse_marshal": false, - "marshal_ns_op": 31, - "unmarshal_ns_op": 16, - "total_ns_op": 47, + "marshal_ns_op": 123, + "unmarshal_ns_op": 23, + "total_ns_op": 146, "serialization_size": 51, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 0, @@ -947,18 +947,18 @@ var data = [ }, { "name": "mus", - "marshal_iter_count": 31053856, - "unmarshal_iter_count": 23639516, - "total_iter_count": 54693372, + "marshal_iter_count": 9089296, + "unmarshal_iter_count": 7544222, + "total_iter_count": 16633518, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 37, - "unmarshal_ns_op": 49, - "total_ns_op": 86, - "serialization_size": 46, - "marshal_alloc_bytes": 48, + "marshal_ns_op": 134, + "unmarshal_ns_op": 153, + "total_ns_op": 287, + "serialization_size": 49, + "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, - "total_alloc_bytes": 80, + "total_alloc_bytes": 96, "marshal_allocs": 1, "unmarshal_allocs": 2, "total_allocs": 3, @@ -969,14 +969,14 @@ var data = [ }, { "name": "mus/unsafe_reuse", - "marshal_iter_count": 61392717, - "unmarshal_iter_count": 52697547, - "total_iter_count": 114090264, + "marshal_iter_count": 37609538, + "unmarshal_iter_count": 43559275, + "total_iter_count": 81168813, "unsafe_string_unmarshal": true, "buffer_reuse_marshal": true, - "marshal_ns_op": 19, - "unmarshal_ns_op": 22, - "total_ns_op": 41, + "marshal_ns_op": 26, + "unmarshal_ns_op": 28, + "total_ns_op": 54, "serialization_size": 49, "marshal_alloc_bytes": 0, "unmarshal_alloc_bytes": 0, @@ -991,14 +991,14 @@ var data = [ }, { "name": "idr", - "marshal_iter_count": 28921411, - "unmarshal_iter_count": 25520150, - "total_iter_count": 54441561, + "marshal_iter_count": 9958165, + "unmarshal_iter_count": 6694382, + "total_iter_count": 16652547, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 40, - "unmarshal_ns_op": 46, - "total_ns_op": 86, + "marshal_ns_op": 141, + "unmarshal_ns_op": 177, + "total_ns_op": 318, "serialization_size": 54, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -1013,14 +1013,14 @@ var data = [ }, { "name": "idr/reuse", - "marshal_iter_count": 45401018, - "unmarshal_iter_count": 25462456, - "total_iter_count": 70863474, + "marshal_iter_count": 35351770, + "unmarshal_iter_count": 10378764, + "total_iter_count": 45730534, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": true, - "marshal_ns_op": 25, - "unmarshal_ns_op": 46, - "total_ns_op": 71, + "marshal_ns_op": 33, + "unmarshal_ns_op": 159, + "total_ns_op": 192, "serialization_size": 54, "marshal_alloc_bytes": 0, "unmarshal_alloc_bytes": 32, @@ -1035,14 +1035,14 @@ var data = [ }, { "name": "baseline", - "marshal_iter_count": 38028988, - "unmarshal_iter_count": 32289637, - "total_iter_count": 70318625, + "marshal_iter_count": 10654788, + "unmarshal_iter_count": 8385156, + "total_iter_count": 19039944, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 31, - "unmarshal_ns_op": 36, - "total_ns_op": 67, + "marshal_ns_op": 106, + "unmarshal_ns_op": 138, + "total_ns_op": 244, "serialization_size": 47, "marshal_alloc_bytes": 48, "unmarshal_alloc_bytes": 32, @@ -1057,14 +1057,14 @@ var data = [ }, { "name": "baseline/unsafe_reuse", - "marshal_iter_count": 61417855, - "unmarshal_iter_count": 90505129, - "total_iter_count": 151922984, + "marshal_iter_count": 50278053, + "unmarshal_iter_count": 70099952, + "total_iter_count": 120378005, "unsafe_string_unmarshal": true, "buffer_reuse_marshal": true, - "marshal_ns_op": 18, - "unmarshal_ns_op": 12, - "total_ns_op": 30, + "marshal_ns_op": 23, + "unmarshal_ns_op": 17, + "total_ns_op": 40, "serialization_size": 47, "marshal_alloc_bytes": 0, "unmarshal_alloc_bytes": 0, @@ -1079,14 +1079,14 @@ var data = [ }, { "name": "fastape", - "marshal_iter_count": 26278282, - "unmarshal_iter_count": 50911095, - "total_iter_count": 77189377, + "marshal_iter_count": 9039159, + "unmarshal_iter_count": 40462010, + "total_iter_count": 49501169, "unsafe_string_unmarshal": true, "buffer_reuse_marshal": false, - "marshal_ns_op": 45, - "unmarshal_ns_op": 23, - "total_ns_op": 68, + "marshal_ns_op": 163, + "unmarshal_ns_op": 29, + "total_ns_op": 192, "serialization_size": 55, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 0,