From 8ed5168cf8d89ad1f27a345102daeba3b17b109e Mon Sep 17 00:00:00 2001 From: yra Date: Tue, 25 Jun 2024 17:05:51 +0300 Subject: [PATCH] Update MUS to work like Bebop --- internal/serializers/mus/mus.go | 45 +-- report/data.js | 616 +++++++++++++++----------------- 2 files changed, 320 insertions(+), 341 deletions(-) diff --git a/internal/serializers/mus/mus.go b/internal/serializers/mus/mus.go index 962deb1..42217e2 100644 --- a/internal/serializers/mus/mus.go +++ b/internal/serializers/mus/mus.go @@ -5,43 +5,45 @@ import ( "github.com/alecthomas/go_serialization_benchmarks/goserbench" "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) + var ( + v = o.(*goserbench.SmallStruct) + nano = v.BirthDay.UnixNano() + ) n := ord.SizeString(v.Name) - n += raw.SizeInt64(v.BirthDay.UnixNano()) + n += unsafe.SizeInt64(nano) n += ord.SizeString(v.Phone) - n += varint.SizeInt32(int32(v.Siblings)) - n += ord.SizeBool(v.Spouse) - n += raw.SizeFloat64(v.Money) + 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 += unsafe.MarshalInt64(nano, buf[n:]) n += ord.MarshalString(v.Phone, buf[n:]) - n += varint.MarshalInt32(int32(v.Siblings), buf[n:]) - n += ord.MarshalBool(v.Spouse, buf[n:]) - raw.MarshalFloat64(v.Money, buf[n:]) + n += unsafe.MarshalInt32(int32(v.Siblings), buf[n:]) + n += unsafe.MarshalBool(v.Spouse, buf[n:]) + unsafe.MarshalFloat64(v.Money, buf[n:]) return buf, nil } func (s MUSSerializer) Unmarshal(bs []byte, o interface{}) (err error) { - v := o.(*goserbench.SmallStruct) - var n int - v.Name, n, err = ord.UnmarshalString(bs) - if err != nil { - return - } var ( + v = o.(*goserbench.SmallStruct) + n int n1 int birthDay64 int64 + siblings32 int32 ) - birthDay64, n1, err = raw.UnmarshalInt64(bs[n:]) + v.Name, n, err = ord.UnmarshalString(bs) + if err != nil { + return + } + birthDay64, n1, err = unsafe.UnmarshalInt64(bs[n:]) n += n1 if err != nil { return @@ -52,19 +54,18 @@ func (s MUSSerializer) Unmarshal(bs []byte, o interface{}) (err error) { 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 } diff --git a/report/data.js b/report/data.js index 37ca0dc..6049d6e 100644 --- a/report/data.js +++ b/report/data.js @@ -1,14 +1,14 @@ var data = [ { "name": "gotiny", - "marshal_iter_count": 28955649, - "unmarshal_iter_count": 59712837, - "total_iter_count": 88668486, + "marshal_iter_count": 3185185, + "unmarshal_iter_count": 5922380, + "total_iter_count": 9107565, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 471, - "unmarshal_ns_op": 172, - "total_ns_op": 643, + "marshal_ns_op": 505, + "unmarshal_ns_op": 191, + "total_ns_op": 696, "serialization_size": 47, "marshal_alloc_bytes": 168, "unmarshal_alloc_bytes": 32, @@ -23,14 +23,14 @@ var data = [ }, { "name": "msgp", - "marshal_iter_count": 59575892, - "unmarshal_iter_count": 43816171, - "total_iter_count": 103392063, + "marshal_iter_count": 6014586, + "unmarshal_iter_count": 5726523, + "total_iter_count": 11741109, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, "marshal_ns_op": 194, - "unmarshal_ns_op": 240, - "total_ns_op": 434, + "unmarshal_ns_op": 236, + "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": 12060512, - "unmarshal_iter_count": 15654870, - "total_iter_count": 27715382, + "marshal_iter_count": 961555, + "unmarshal_iter_count": 1384449, + "total_iter_count": 2346004, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1033, - "unmarshal_ns_op": 691, - "total_ns_op": 1724, + "marshal_ns_op": 1092, + "unmarshal_ns_op": 733, + "total_ns_op": 1825, "serialization_size": 92, "marshal_alloc_bytes": 264, "unmarshal_alloc_bytes": 80, @@ -67,14 +67,14 @@ var data = [ }, { "name": "json", - "marshal_iter_count": 9325172, - "unmarshal_iter_count": 5477808, - "total_iter_count": 14802980, + "marshal_iter_count": 899353, + "unmarshal_iter_count": 555460, + "total_iter_count": 1454813, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1411, - "unmarshal_ns_op": 2190, - "total_ns_op": 3601, + "marshal_ns_op": 1393, + "unmarshal_ns_op": 2217, + "total_ns_op": 3610, "serialization_size": 151, "marshal_alloc_bytes": 208, "unmarshal_alloc_bytes": 248, @@ -89,14 +89,14 @@ var data = [ }, { "name": "jsoniter", - "marshal_iter_count": 11356832, - "unmarshal_iter_count": 9894026, - "total_iter_count": 21250858, + "marshal_iter_count": 1208360, + "unmarshal_iter_count": 1058208, + "total_iter_count": 2266568, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 999, - "unmarshal_ns_op": 1107, - "total_ns_op": 2106, + "marshal_ns_op": 1048, + "unmarshal_ns_op": 1202, + "total_ns_op": 2250, "serialization_size": 141, "marshal_alloc_bytes": 200, "unmarshal_alloc_bytes": 136, @@ -111,14 +111,14 @@ var data = [ }, { "name": "easyjson", - "marshal_iter_count": 8098464, - "unmarshal_iter_count": 19337331, - "total_iter_count": 27435795, + "marshal_iter_count": 1000000, + "unmarshal_iter_count": 1848908, + "total_iter_count": 2848908, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1479, - "unmarshal_ns_op": 600, - "total_ns_op": 2079, + "marshal_ns_op": 1491, + "unmarshal_ns_op": 584, + "total_ns_op": 2075, "serialization_size": 151, "marshal_alloc_bytes": 976, "unmarshal_alloc_bytes": 32, @@ -133,14 +133,14 @@ var data = [ }, { "name": "bson", - "marshal_iter_count": 10102114, - "unmarshal_iter_count": 9073612, - "total_iter_count": 19175726, + "marshal_iter_count": 1000000, + "unmarshal_iter_count": 1040805, + "total_iter_count": 2040805, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1264, - "unmarshal_ns_op": 1292, - "total_ns_op": 2556, + "marshal_ns_op": 1212, + "unmarshal_ns_op": 1297, + "total_ns_op": 2509, "serialization_size": 110, "marshal_alloc_bytes": 376, "unmarshal_alloc_bytes": 144, @@ -155,14 +155,14 @@ var data = [ }, { "name": "mongobson", - "marshal_iter_count": 7842391, - "unmarshal_iter_count": 6094377, - "total_iter_count": 13936768, + "marshal_iter_count": 599886, + "unmarshal_iter_count": 497012, + "total_iter_count": 1096898, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1530, - "unmarshal_ns_op": 2014, - "total_ns_op": 3544, + "marshal_ns_op": 1869, + "unmarshal_ns_op": 2159, + "total_ns_op": 4028, "serialization_size": 110, "marshal_alloc_bytes": 240, "unmarshal_alloc_bytes": 328, @@ -177,14 +177,14 @@ var data = [ }, { "name": "gob", - "marshal_iter_count": 2003144, - "unmarshal_iter_count": 367935, - "total_iter_count": 2371079, + "marshal_iter_count": 175143, + "unmarshal_iter_count": 35496, + "total_iter_count": 210639, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 6178, - "unmarshal_ns_op": 32656, - "total_ns_op": 38834, + "marshal_ns_op": 6536, + "unmarshal_ns_op": 32577, + "total_ns_op": 39113, "serialization_size": 172, "marshal_alloc_bytes": 1744, "unmarshal_alloc_bytes": 7656, @@ -199,14 +199,14 @@ var data = [ }, { "name": "davecgh/xdr", - "marshal_iter_count": 7532811, - "unmarshal_iter_count": 9208371, - "total_iter_count": 16741182, + "marshal_iter_count": 742447, + "unmarshal_iter_count": 824319, + "total_iter_count": 1566766, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1712, - "unmarshal_ns_op": 1233, - "total_ns_op": 2945, + "marshal_ns_op": 1627, + "unmarshal_ns_op": 1245, + "total_ns_op": 2872, "serialization_size": 91, "marshal_alloc_bytes": 391, "unmarshal_alloc_bytes": 151, @@ -221,14 +221,14 @@ var data = [ }, { "name": "ugorji/msgpack", - "marshal_iter_count": 10596171, - "unmarshal_iter_count": 8775441, - "total_iter_count": 19371612, + "marshal_iter_count": 1083770, + "unmarshal_iter_count": 794476, + "total_iter_count": 1878246, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1162, - "unmarshal_ns_op": 1361, - "total_ns_op": 2523, + "marshal_ns_op": 1145, + "unmarshal_ns_op": 1392, + "total_ns_op": 2537, "serialization_size": 91, "marshal_alloc_bytes": 1240, "unmarshal_alloc_bytes": 608, @@ -243,15 +243,15 @@ var data = [ }, { "name": "ugorji/binc", - "marshal_iter_count": 9070495, - "unmarshal_iter_count": 9468921, - "total_iter_count": 18539416, + "marshal_iter_count": 824248, + "unmarshal_iter_count": 896667, + "total_iter_count": 1720915, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1308, - "unmarshal_ns_op": 1244, - "total_ns_op": 2552, - "serialization_size": 94, + "marshal_ns_op": 1307, + "unmarshal_ns_op": 1276, + "total_ns_op": 2583, + "serialization_size": 95, "marshal_alloc_bytes": 1256, "unmarshal_alloc_bytes": 672, "total_alloc_bytes": 1928, @@ -265,14 +265,14 @@ var data = [ }, { "name": "sereal", - "marshal_iter_count": 3448556, - "unmarshal_iter_count": 3234153, - "total_iter_count": 6682709, + "marshal_iter_count": 298934, + "unmarshal_iter_count": 294157, + "total_iter_count": 593091, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 3368, - "unmarshal_ns_op": 3752, - "total_ns_op": 7120, + "marshal_ns_op": 3772, + "unmarshal_ns_op": 3823, + "total_ns_op": 7595, "serialization_size": 142, "marshal_alloc_bytes": 1104, "unmarshal_alloc_bytes": 896, @@ -287,14 +287,14 @@ var data = [ }, { "name": "alecthomas/binary", - "marshal_iter_count": 6702919, - "unmarshal_iter_count": 8939086, - "total_iter_count": 15642005, + "marshal_iter_count": 528360, + "unmarshal_iter_count": 700185, + "total_iter_count": 1228545, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1883, - "unmarshal_ns_op": 1442, - "total_ns_op": 3325, + "marshal_ns_op": 1938, + "unmarshal_ns_op": 1439, + "total_ns_op": 3377, "serialization_size": 61, "marshal_alloc_bytes": 360, "unmarshal_alloc_bytes": 240, @@ -309,14 +309,14 @@ var data = [ }, { "name": "flatbuffers", - "marshal_iter_count": 11256534, - "unmarshal_iter_count": 59271417, - "total_iter_count": 70527951, + "marshal_iter_count": 1156248, + "unmarshal_iter_count": 6243952, + "total_iter_count": 7400200, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1047, - "unmarshal_ns_op": 196, - "total_ns_op": 1243, + "marshal_ns_op": 1007, + "unmarshal_ns_op": 205, + "total_ns_op": 1212, "serialization_size": 95, "marshal_alloc_bytes": 376, "unmarshal_alloc_bytes": 32, @@ -331,14 +331,14 @@ var data = [ }, { "name": "capnproto", - "marshal_iter_count": 5489572, - "unmarshal_iter_count": 20879548, - "total_iter_count": 26369120, + "marshal_iter_count": 523147, + "unmarshal_iter_count": 1963942, + "total_iter_count": 2487089, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 2186, - "unmarshal_ns_op": 604, - "total_ns_op": 2790, + "marshal_ns_op": 2051, + "unmarshal_ns_op": 616, + "total_ns_op": 2667, "serialization_size": 96, "marshal_alloc_bytes": 4392, "unmarshal_alloc_bytes": 112, @@ -353,18 +353,18 @@ var data = [ }, { "name": "hprose", - "marshal_iter_count": 20250375, - "unmarshal_iter_count": 8679392, - "total_iter_count": 28929767, + "marshal_iter_count": 2148255, + "unmarshal_iter_count": 1000000, + "total_iter_count": 3148255, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 500, - "unmarshal_ns_op": 1331, - "total_ns_op": 1831, + "marshal_ns_op": 501, + "unmarshal_ns_op": 1320, + "total_ns_op": 1821, "serialization_size": 85, - "marshal_alloc_bytes": 356, - "unmarshal_alloc_bytes": 223, - "total_alloc_bytes": 579, + "marshal_alloc_bytes": 393, + "unmarshal_alloc_bytes": 224, + "total_alloc_bytes": 617, "marshal_allocs": 8, "unmarshal_allocs": 9, "total_allocs": 17, @@ -375,14 +375,14 @@ var data = [ }, { "name": "hprose2", - "marshal_iter_count": 47587509, - "unmarshal_iter_count": 25455187, - "total_iter_count": 73042696, + "marshal_iter_count": 4402760, + "unmarshal_iter_count": 2633282, + "total_iter_count": 7036042, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 237, - "unmarshal_ns_op": 419, - "total_ns_op": 656, + "marshal_ns_op": 262, + "unmarshal_ns_op": 488, + "total_ns_op": 750, "serialization_size": 85, "marshal_alloc_bytes": 0, "unmarshal_alloc_bytes": 56, @@ -397,14 +397,14 @@ var data = [ }, { "name": "dedis/protobuf", - "marshal_iter_count": 14347279, - "unmarshal_iter_count": 12908955, - "total_iter_count": 27256234, + "marshal_iter_count": 1488183, + "unmarshal_iter_count": 1340088, + "total_iter_count": 2828271, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 753, - "unmarshal_ns_op": 825, - "total_ns_op": 1578, + "marshal_ns_op": 855, + "unmarshal_ns_op": 878, + "total_ns_op": 1733, "serialization_size": 52, "marshal_alloc_bytes": 144, "unmarshal_alloc_bytes": 104, @@ -419,14 +419,14 @@ var data = [ }, { "name": "pulsar", - "marshal_iter_count": 16985736, - "unmarshal_iter_count": 17589740, - "total_iter_count": 34575476, + "marshal_iter_count": 1496710, + "unmarshal_iter_count": 1772070, + "total_iter_count": 3268780, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 799, - "unmarshal_ns_op": 673, - "total_ns_op": 1472, + "marshal_ns_op": 778, + "unmarshal_ns_op": 677, + "total_ns_op": 1455, "serialization_size": 51, "marshal_alloc_bytes": 304, "unmarshal_alloc_bytes": 160, @@ -441,14 +441,14 @@ var data = [ }, { "name": "gogo/protobuf", - "marshal_iter_count": 60984649, - "unmarshal_iter_count": 52992201, - "total_iter_count": 113976850, + "marshal_iter_count": 6208502, + "unmarshal_iter_count": 6281067, + "total_iter_count": 12489569, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 190, - "unmarshal_ns_op": 204, - "total_ns_op": 394, + "marshal_ns_op": 191, + "unmarshal_ns_op": 178, + "total_ns_op": 369, "serialization_size": 53, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -463,18 +463,18 @@ var data = [ }, { "name": "gogo/jsonpb", - "marshal_iter_count": 849684, - "unmarshal_iter_count": 706442, - "total_iter_count": 1556126, + "marshal_iter_count": 89014, + "unmarshal_iter_count": 64567, + "total_iter_count": 153581, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 14553, - "unmarshal_ns_op": 17784, - "total_ns_op": 32337, + "marshal_ns_op": 13515, + "unmarshal_ns_op": 18651, + "total_ns_op": 32166, "serialization_size": 125, - "marshal_alloc_bytes": 2755, - "unmarshal_alloc_bytes": 3155, - "total_alloc_bytes": 5910, + "marshal_alloc_bytes": 2756, + "unmarshal_alloc_bytes": 3167, + "total_alloc_bytes": 5923, "marshal_allocs": 80, "unmarshal_allocs": 55, "total_allocs": 135, @@ -485,14 +485,14 @@ var data = [ }, { "name": "colfer", - "marshal_iter_count": 73305307, - "unmarshal_iter_count": 68246590, - "total_iter_count": 141551897, + "marshal_iter_count": 9818702, + "unmarshal_iter_count": 7525572, + "total_iter_count": 17344274, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 161, - "unmarshal_ns_op": 160, - "total_ns_op": 321, + "marshal_ns_op": 148, + "unmarshal_ns_op": 156, + "total_ns_op": 304, "serialization_size": 51, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -507,14 +507,14 @@ var data = [ }, { "name": "gencode", - "marshal_iter_count": 57685339, - "unmarshal_iter_count": 71007728, - "total_iter_count": 128693067, + "marshal_iter_count": 5810952, + "unmarshal_iter_count": 9223705, + "total_iter_count": 15034657, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 206, - "unmarshal_ns_op": 156, - "total_ns_op": 362, + "marshal_ns_op": 191, + "unmarshal_ns_op": 144, + "total_ns_op": 335, "serialization_size": 53, "marshal_alloc_bytes": 80, "unmarshal_alloc_bytes": 32, @@ -529,14 +529,14 @@ var data = [ }, { "name": "gencode/unsafe_reuse", - "marshal_iter_count": 414409840, - "unmarshal_iter_count": 90322352, - "total_iter_count": 504732192, + "marshal_iter_count": 38816565, + "unmarshal_iter_count": 8683383, + "total_iter_count": 47499948, "unsafe_string_unmarshal": true, "buffer_reuse_marshal": true, - "marshal_ns_op": 30, - "unmarshal_ns_op": 140, - "total_ns_op": 170, + "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": 47375046, - "unmarshal_iter_count": 68256613, - "total_iter_count": 115631659, + "marshal_iter_count": 4743716, + "unmarshal_iter_count": 7998957, + "total_iter_count": 12742673, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 247, - "unmarshal_ns_op": 166, - "total_ns_op": 413, + "marshal_ns_op": 227, + "unmarshal_ns_op": 156, + "total_ns_op": 383, "serialization_size": 60, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -573,14 +573,14 @@ var data = [ }, { "name": "goavro", - "marshal_iter_count": 5197238, - "unmarshal_iter_count": 2006509, - "total_iter_count": 7203747, + "marshal_iter_count": 454905, + "unmarshal_iter_count": 184296, + "total_iter_count": 639201, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 2421, - "unmarshal_ns_op": 5934, - "total_ns_op": 8355, + "marshal_ns_op": 2505, + "unmarshal_ns_op": 6377, + "total_ns_op": 8882, "serialization_size": 47, "marshal_alloc_bytes": 584, "unmarshal_alloc_bytes": 2232, @@ -595,14 +595,14 @@ var data = [ }, { "name": "avro2/text", - "marshal_iter_count": 3112599, - "unmarshal_iter_count": 3494205, - "total_iter_count": 6606804, + "marshal_iter_count": 292288, + "unmarshal_iter_count": 317151, + "total_iter_count": 609439, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 3931, - "unmarshal_ns_op": 3468, - "total_ns_op": 7399, + "marshal_ns_op": 3917, + "unmarshal_ns_op": 3625, + "total_ns_op": 7542, "serialization_size": 133, "marshal_alloc_bytes": 1320, "unmarshal_alloc_bytes": 656, @@ -617,14 +617,14 @@ var data = [ }, { "name": "avro2/binary", - "marshal_iter_count": 10238672, - "unmarshal_iter_count": 10264598, - "total_iter_count": 20503270, + "marshal_iter_count": 881388, + "unmarshal_iter_count": 897166, + "total_iter_count": 1778554, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 1124, - "unmarshal_ns_op": 1163, - "total_ns_op": 2287, + "marshal_ns_op": 1190, + "unmarshal_ns_op": 1211, + "total_ns_op": 2401, "serialization_size": 47, "marshal_alloc_bytes": 464, "unmarshal_alloc_bytes": 464, @@ -639,14 +639,14 @@ var data = [ }, { "name": "ikea", - "marshal_iter_count": 21348780, - "unmarshal_iter_count": 17501503, - "total_iter_count": 38850283, + "marshal_iter_count": 1902882, + "unmarshal_iter_count": 1741423, + "total_iter_count": 3644305, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 568, - "unmarshal_ns_op": 691, - "total_ns_op": 1259, + "marshal_ns_op": 544, + "unmarshal_ns_op": 673, + "total_ns_op": 1217, "serialization_size": 55, "marshal_alloc_bytes": 72, "unmarshal_alloc_bytes": 96, @@ -661,14 +661,14 @@ var data = [ }, { "name": "shamaton/msgpack/map", - "marshal_iter_count": 13833981, - "unmarshal_iter_count": 16456635, - "total_iter_count": 30290616, + "marshal_iter_count": 1663669, + "unmarshal_iter_count": 1829180, + "total_iter_count": 3492849, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 870, - "unmarshal_ns_op": 663, - "total_ns_op": 1533, + "marshal_ns_op": 743, + "unmarshal_ns_op": 709, + "total_ns_op": 1452, "serialization_size": 92, "marshal_alloc_bytes": 192, "unmarshal_alloc_bytes": 88, @@ -683,14 +683,14 @@ var data = [ }, { "name": "shamaton/msgpack/array", - "marshal_iter_count": 16049640, - "unmarshal_iter_count": 23484433, - "total_iter_count": 39534073, + "marshal_iter_count": 1629656, + "unmarshal_iter_count": 2226157, + "total_iter_count": 3855813, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 717, - "unmarshal_ns_op": 544, - "total_ns_op": 1261, + "marshal_ns_op": 750, + "unmarshal_ns_op": 541, + "total_ns_op": 1291, "serialization_size": 50, "marshal_alloc_bytes": 160, "unmarshal_alloc_bytes": 88, @@ -705,14 +705,14 @@ var data = [ }, { "name": "shamaton/msgpackgen/map", - "marshal_iter_count": 32346356, - "unmarshal_iter_count": 23258340, - "total_iter_count": 55604696, + "marshal_iter_count": 3581889, + "unmarshal_iter_count": 2171575, + "total_iter_count": 5753464, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 357, - "unmarshal_ns_op": 503, - "total_ns_op": 860, + "marshal_ns_op": 333, + "unmarshal_ns_op": 569, + "total_ns_op": 902, "serialization_size": 92, "marshal_alloc_bytes": 176, "unmarshal_alloc_bytes": 112, @@ -727,14 +727,14 @@ var data = [ }, { "name": "shamaton/msgpackgen/array", - "marshal_iter_count": 36992584, - "unmarshal_iter_count": 39603993, - "total_iter_count": 76596577, + "marshal_iter_count": 3708931, + "unmarshal_iter_count": 3678602, + "total_iter_count": 7387533, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 321, - "unmarshal_ns_op": 296, - "total_ns_op": 617, + "marshal_ns_op": 323, + "unmarshal_ns_op": 323, + "total_ns_op": 646, "serialization_size": 50, "marshal_alloc_bytes": 144, "unmarshal_alloc_bytes": 112, @@ -749,14 +749,14 @@ var data = [ }, { "name": "ssz", - "marshal_iter_count": 3739425, - "unmarshal_iter_count": 5753030, - "total_iter_count": 9492455, + "marshal_iter_count": 309772, + "unmarshal_iter_count": 899265, + "total_iter_count": 1209037, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 3420, - "unmarshal_ns_op": 2159, - "total_ns_op": 5579, + "marshal_ns_op": 3374, + "unmarshal_ns_op": 2090, + "total_ns_op": 5464, "serialization_size": 55, "marshal_alloc_bytes": 416, "unmarshal_alloc_bytes": 264, @@ -771,14 +771,14 @@ var data = [ }, { "name": "200sc/bebop", - "marshal_iter_count": 90711884, - "unmarshal_iter_count": 79621239, - "total_iter_count": 170333123, + "marshal_iter_count": 8403379, + "unmarshal_iter_count": 8036648, + "total_iter_count": 16440027, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 142, - "unmarshal_ns_op": 144, - "total_ns_op": 286, + "marshal_ns_op": 141, + "unmarshal_ns_op": 146, + "total_ns_op": 287, "serialization_size": 55, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -793,14 +793,14 @@ var data = [ }, { "name": "200sc/bebop/reuse", - "marshal_iter_count": 398391846, - "unmarshal_iter_count": 97327002, - "total_iter_count": 495718848, + "marshal_iter_count": 37973682, + "unmarshal_iter_count": 9346993, + "total_iter_count": 47320675, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": true, - "marshal_ns_op": 31, - "unmarshal_ns_op": 142, - "total_ns_op": 173, + "marshal_ns_op": 30, + "unmarshal_ns_op": 141, + "total_ns_op": 171, "serialization_size": 55, "marshal_alloc_bytes": 0, "unmarshal_alloc_bytes": 32, @@ -815,14 +815,14 @@ var data = [ }, { "name": "wellquite/bebop", - "marshal_iter_count": 100000000, - "unmarshal_iter_count": 72466165, - "total_iter_count": 172466165, + "marshal_iter_count": 8132491, + "unmarshal_iter_count": 7175703, + "total_iter_count": 15308194, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 142, + "marshal_ns_op": 143, "unmarshal_ns_op": 159, - "total_ns_op": 301, + "total_ns_op": 302, "serialization_size": 55, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -837,14 +837,14 @@ var data = [ }, { "name": "wellquite/bebop/reuse", - "marshal_iter_count": 384183133, - "unmarshal_iter_count": 84359067, - "total_iter_count": 468542200, + "marshal_iter_count": 36287112, + "unmarshal_iter_count": 7288130, + "total_iter_count": 43575242, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": true, "marshal_ns_op": 32, - "unmarshal_ns_op": 161, - "total_ns_op": 193, + "unmarshal_ns_op": 166, + "total_ns_op": 198, "serialization_size": 55, "marshal_alloc_bytes": 0, "unmarshal_alloc_bytes": 32, @@ -859,14 +859,14 @@ var data = [ }, { "name": "fastjson", - "marshal_iter_count": 4595984, - "unmarshal_iter_count": 4551584, - "total_iter_count": 9147568, + "marshal_iter_count": 463227, + "unmarshal_iter_count": 467560, + "total_iter_count": 930787, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 2623, - "unmarshal_ns_op": 2619, - "total_ns_op": 5242, + "marshal_ns_op": 2462, + "unmarshal_ns_op": 2547, + "total_ns_op": 5009, "serialization_size": 133, "marshal_alloc_bytes": 1864, "unmarshal_alloc_bytes": 1800, @@ -881,14 +881,14 @@ var data = [ }, { "name": "fastjson/reuse", - "marshal_iter_count": 5787290, - "unmarshal_iter_count": 4574289, - "total_iter_count": 10361579, + "marshal_iter_count": 578178, + "unmarshal_iter_count": 450782, + "total_iter_count": 1028960, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": true, - "marshal_ns_op": 2069, - "unmarshal_ns_op": 2577, - "total_ns_op": 4646, + "marshal_ns_op": 1975, + "unmarshal_ns_op": 2535, + "total_ns_op": 4510, "serialization_size": 133, "marshal_alloc_bytes": 1360, "unmarshal_alloc_bytes": 1800, @@ -903,14 +903,14 @@ var data = [ }, { "name": "benc", - "marshal_iter_count": 91309033, - "unmarshal_iter_count": 82041828, - "total_iter_count": 173350861, + "marshal_iter_count": 9831350, + "unmarshal_iter_count": 8894425, + "total_iter_count": 18725775, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 127, - "unmarshal_ns_op": 142, - "total_ns_op": 269, + "marshal_ns_op": 118, + "unmarshal_ns_op": 137, + "total_ns_op": 255, "serialization_size": 51, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -925,14 +925,14 @@ var data = [ }, { "name": "benc/usafe", - "marshal_iter_count": 92958505, - "unmarshal_iter_count": 512725437, - "total_iter_count": 605683942, + "marshal_iter_count": 9529747, + "unmarshal_iter_count": 49689195, + "total_iter_count": 59218942, "unsafe_string_unmarshal": true, "buffer_reuse_marshal": false, - "marshal_ns_op": 125, - "unmarshal_ns_op": 24, - "total_ns_op": 149, + "marshal_ns_op": 111, + "unmarshal_ns_op": 23, + "total_ns_op": 134, "serialization_size": 51, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 0, @@ -947,18 +947,18 @@ var data = [ }, { "name": "mus", - "marshal_iter_count": 99790022, - "unmarshal_iter_count": 64524152, - "total_iter_count": 164314174, + "marshal_iter_count": 14705510, + "unmarshal_iter_count": 7319414, + "total_iter_count": 22024924, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, - "marshal_ns_op": 136, - "unmarshal_ns_op": 178, - "total_ns_op": 314, - "serialization_size": 46, - "marshal_alloc_bytes": 48, + "marshal_ns_op": 116, + "unmarshal_ns_op": 162, + "total_ns_op": 278, + "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": 436090794, - "unmarshal_iter_count": 378875703, - "total_iter_count": 814966497, + "marshal_iter_count": 43343725, + "unmarshal_iter_count": 39532304, + "total_iter_count": 82876029, "unsafe_string_unmarshal": true, "buffer_reuse_marshal": true, "marshal_ns_op": 27, - "unmarshal_ns_op": 31, - "total_ns_op": 58, + "unmarshal_ns_op": 30, + "total_ns_op": 57, "serialization_size": 49, "marshal_alloc_bytes": 0, "unmarshal_alloc_bytes": 0, @@ -991,14 +991,14 @@ var data = [ }, { "name": "idr", - "marshal_iter_count": 95276943, - "unmarshal_iter_count": 77179332, - "total_iter_count": 172456275, + "marshal_iter_count": 8746916, + "unmarshal_iter_count": 8279058, + "total_iter_count": 17025974, "unsafe_string_unmarshal": false, - "buffer_reuse_marshal": false, - "marshal_ns_op": 137, - "unmarshal_ns_op": 160, - "total_ns_op": 297, + "buffer_reuse_marshal": true, + "marshal_ns_op": 139, + "unmarshal_ns_op": 153, + "total_ns_op": 292, "serialization_size": 57, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 32, @@ -1009,40 +1009,18 @@ var data = [ "time_support": "fulltzoffset", "api_kind": "manual", "url": "github.com/chmike/ditp", - "notes": "Low level IDR encoding demo" - }, - { - "name": "idr/reuse", - "marshal_iter_count": 378087973, - "unmarshal_iter_count": 75860008, - "total_iter_count": 453947981, - "unsafe_string_unmarshal": false, - "buffer_reuse_marshal": true, - "marshal_ns_op": 32, - "unmarshal_ns_op": 158, - "total_ns_op": 190, - "serialization_size": 57, - "marshal_alloc_bytes": 0, - "unmarshal_alloc_bytes": 32, - "total_alloc_bytes": 32, - "marshal_allocs": 0, - "unmarshal_allocs": 2, - "total_allocs": 2, - "time_support": "fulltzoffset", - "api_kind": "manual", - "url": "github.com/chmike/ditp", - "notes": "Low level IDR encoding demo" + "notes": "low level IDR encoding demo with same nsec time encoding as benc" }, { "name": "baseline", - "marshal_iter_count": 100000000, - "unmarshal_iter_count": 88908396, - "total_iter_count": 188908396, + "marshal_iter_count": 10580049, + "unmarshal_iter_count": 8328478, + "total_iter_count": 18908527, "unsafe_string_unmarshal": false, "buffer_reuse_marshal": false, "marshal_ns_op": 110, - "unmarshal_ns_op": 132, - "total_ns_op": 242, + "unmarshal_ns_op": 138, + "total_ns_op": 248, "serialization_size": 47, "marshal_alloc_bytes": 48, "unmarshal_alloc_bytes": 32, @@ -1057,9 +1035,9 @@ var data = [ }, { "name": "baseline/unsafe_reuse", - "marshal_iter_count": 503727940, - "unmarshal_iter_count": 680592901, - "total_iter_count": 1184320841, + "marshal_iter_count": 48912116, + "unmarshal_iter_count": 68453872, + "total_iter_count": 117365988, "unsafe_string_unmarshal": true, "buffer_reuse_marshal": true, "marshal_ns_op": 24, @@ -1079,14 +1057,14 @@ var data = [ }, { "name": "fastape", - "marshal_iter_count": 83976687, - "unmarshal_iter_count": 411788233, - "total_iter_count": 495764920, + "marshal_iter_count": 9251469, + "unmarshal_iter_count": 39371427, + "total_iter_count": 48622896, "unsafe_string_unmarshal": true, "buffer_reuse_marshal": false, - "marshal_ns_op": 151, + "marshal_ns_op": 150, "unmarshal_ns_op": 30, - "total_ns_op": 181, + "total_ns_op": 180, "serialization_size": 55, "marshal_alloc_bytes": 64, "unmarshal_alloc_bytes": 0,