v3.3.2
- [fix] fixed #144 error code generation for custom struct collection type with no
op_Equality
implemented - [fix] fixed jagged array code generation error
- [feat] supported deserialization for any collection type that accepts an array type to construct
- [feat] support serializing more collection types
Performance Report
expand
BenchmarkDotNet v0.14.0, Ubuntu 24.04.2 LTS (Noble Numbat)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 9.0.202
[Host] : .NET 8.0.14 (8.0.1425.11118), X64 RyuJIT AVX2
Job-YMSDNH : .NET 9.0.3 (9.0.325.11113), X64 RyuJIT AVX2
Runtime=.NET 9.0 IterationCount=20 WarmupCount=1
Method | Mean | Error | StdDev | Ratio | RatioSD | Payload |
---|---|---|---|---|---|---|
MessagePackDeserializeSimpleClass | 1,566.1821 ns | 33.8147 ns | 38.9410 ns | 3.61 | 0.19 | - |
MemoryPackDeserializeSimpleClass | 581.7058 ns | 6.3686 ns | 7.3341 ns | 1.34 | 0.07 | - |
NinoDeserializeSimpleClass | 434.5717 ns | 18.6862 ns | 21.5191 ns | 1.00 | 0.07 | - |
MessagePackSerializeSimpleClass | 1,095.5500 ns | 5.8196 ns | 6.4684 ns | 4.47 | 0.03 | 700B |
MemoryPackSerializeSimpleClass | 510.7746 ns | 1.0703 ns | 1.0512 ns | 2.08 | 0.01 | 755B |
NinoSerializeSimpleClass | 245.1557 ns | 1.1207 ns | 1.2907 ns | 1.00 | 0.01 | 764B |
MessagePackDeserializeSimpleClasses | 156,110.1872 ns | 1,169.5099 ns | 1,251.3624 ns | 3.12 | 0.16 | - |
MemoryPackDeserializeSimpleClasses | 58,767.7599 ns | 2,099.4753 ns | 2,417.7589 ns | 1.17 | 0.08 | - |
NinoDeserializeSimpleClasses | 50,244.9692 ns | 2,259.3444 ns | 2,601.8644 ns | 1.00 | 0.07 | - |
MessagePackSerializeSimpleClasses | 106,519.8737 ns | 115.9466 ns | 124.0616 ns | 4.06 | 0.01 | 68.36KB |
MemoryPackSerializeSimpleClasses | 46,174.5775 ns | 222.9381 ns | 247.7951 ns | 1.76 | 0.01 | 73.73KB |
NinoSerializeSimpleClasses | 26,217.4418 ns | 24.4297 ns | 25.0875 ns | 1.00 | 0.00 | 75KB |
MessagePackDeserializeSimpleStruct | 69.1839 ns | 0.0656 ns | 0.0645 ns | 129.94 | 1.22 | - |
MemoryPackDeserializeSimpleStruct | 2.0659 ns | 0.0182 ns | 0.0209 ns | 3.88 | 0.05 | - |
NinoDeserializeSimpleStruct | 0.5325 ns | 0.0048 ns | 0.0051 ns | 1.00 | 0.01 | - |
MessagePackSerializeSimpleStruct | 82.8198 ns | 0.3340 ns | 0.3846 ns | 12.94 | 0.08 | 16B |
MemoryPackSerializeSimpleStruct | 5.9272 ns | 0.0085 ns | 0.0084 ns | 0.93 | 0.00 | 16B |
NinoSerializeSimpleStruct | 6.3992 ns | 0.0256 ns | 0.0285 ns | 1.00 | 0.01 | 16B |
MessagePackDeserializeSimpleStructs | 4,166.2226 ns | 76.2465 ns | 84.7478 ns | 29.59 | 5.42 | - |
MemoryPackDeserializeSimpleStructs | 116.3191 ns | 5.8833 ns | 6.5393 ns | 0.83 | 0.16 | - |
NinoDeserializeSimpleStructs | 145.3941 ns | 22.8250 ns | 26.2853 ns | 1.03 | 0.26 | - |
MessagePackSerializeSimpleStructs | 4,071.1888 ns | 5.5355 ns | 6.1527 ns | 146.04 | 0.54 | 1.57KB |
MemoryPackSerializeSimpleStructs | 29.7827 ns | 0.1953 ns | 0.2249 ns | 1.07 | 0.01 | 1.57KB |
NinoSerializeSimpleStructs | 27.8771 ns | 0.0849 ns | 0.0978 ns | 1.00 | 0.00 | 1.57KB |
MessagePackDeserializeVectors | 269,957.2084 ns | 5,830.7636 ns | 6,714.7161 ns | 17.10 | 0.66 | - |
MemoryPackDeserializeVectors | 16,816.4012 ns | 571.8114 ns | 635.5668 ns | 1.07 | 0.05 | - |
NinoDeserializeVectors | 15,800.1293 ns | 456.7226 ns | 488.6881 ns | 1.00 | 0.04 | - |
MessagePackSerializeVectors | 307,791.3494 ns | 3,906.5190 ns | 4,179.9315 ns | 83.48 | 2.68 | 205.08KB |
MemoryPackSerializeVectors | 4,246.4606 ns | 9.7238 ns | 10.8079 ns | 1.15 | 0.03 | 156.25KB |
NinoSerializeVectors | 3,690.2986 ns | 119.4024 ns | 117.2691 ns | 1.00 | 0.04 | 156.25KB |