v3.0.3
Nino.Serialization v3.0.3
- [Fix] Consists serialization strategy for unmanaged polymorphic structs
- [Fix] Fix Unity unable to serialize unmanaged list correctly
- [Fix] Add check endianness to ensure collection can be serialized appropriately on big endian architectures
Performance Report
expand
BenchmarkDotNet v0.14.0, Ubuntu 22.04.5 LTS (Jammy Jellyfish)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 9.0.100
[Host] : .NET 8.0.11 (8.0.1124.51707), X64 RyuJIT AVX2
Job-TBROBM : .NET 9.0.0 (9.0.24.52809), X64 RyuJIT AVX2
Runtime=.NET 9.0 IterationCount=20 WarmupCount=1
Method | Mean | Error | StdDev | Ratio | RatioSD | Payload |
---|---|---|---|---|---|---|
MessagePackDeserializeSimpleClass | 2,007.0603 ns | 2.7570 ns | 2.8312 ns | 4.47 | 0.02 | - |
MemoryPackDeserializeSimpleClass | 623.9433 ns | 3.0995 ns | 3.4450 ns | 1.39 | 0.01 | - |
NinoDeserializeSimpleClass | 449.0151 ns | 2.1602 ns | 2.3114 ns | 1.00 | 0.01 | - |
MessagePackSerializeSimpleClass | 1,085.5300 ns | 4.0350 ns | 4.1436 ns | 4.16 | 0.03 | 700B |
MemoryPackSerializeSimpleClass | 605.7858 ns | 2.2351 ns | 2.5740 ns | 2.32 | 0.02 | 755B |
NinoSerializeSimpleClass | 260.7239 ns | 1.2057 ns | 1.3401 ns | 1.00 | 0.01 | 724B |
MessagePackDeserializeSimpleClasses | 199,262.0091 ns | 1,044.2809 ns | 1,202.5954 ns | 4.24 | 0.04 | - |
MemoryPackDeserializeSimpleClasses | 59,698.0319 ns | 435.3903 ns | 483.9352 ns | 1.27 | 0.01 | - |
NinoDeserializeSimpleClasses | 46,980.7832 ns | 273.5270 ns | 304.0246 ns | 1.00 | 0.01 | - |
MessagePackSerializeSimpleClasses | 110,112.6896 ns | 797.2330 ns | 886.1223 ns | 4.68 | 0.06 | 68.36KB |
MemoryPackSerializeSimpleClasses | 55,278.4835 ns | 358.9509 ns | 413.3683 ns | 2.35 | 0.03 | 73.73KB |
NinoSerializeSimpleClasses | 23,546.6177 ns | 192.6321 ns | 214.1101 ns | 1.00 | 0.01 | 70.71KB |
MessagePackDeserializeSimpleStruct | 76.2198 ns | 0.2691 ns | 0.2991 ns | 131.55 | 2.59 | - |
MemoryPackDeserializeSimpleStruct | 2.0279 ns | 0.0052 ns | 0.0053 ns | 3.50 | 0.07 | - |
NinoDeserializeSimpleStruct | 0.5796 ns | 0.0101 ns | 0.0116 ns | 1.00 | 0.03 | - |
MessagePackSerializeSimpleStruct | 76.0057 ns | 0.6046 ns | 0.6470 ns | 9.53 | 0.10 | 16B |
MemoryPackSerializeSimpleStruct | 18.9084 ns | 0.7117 ns | 0.8196 ns | 2.37 | 0.10 | 16B |
NinoSerializeSimpleStruct | 7.9725 ns | 0.0472 ns | 0.0524 ns | 1.00 | 0.01 | 16B |
MessagePackDeserializeSimpleStructs | 4,177.5059 ns | 10.3970 ns | 10.6769 ns | 32.33 | 0.24 | - |
MemoryPackDeserializeSimpleStructs | 157.9368 ns | 0.9536 ns | 1.0982 ns | 1.22 | 0.01 | - |
NinoDeserializeSimpleStructs | 129.2308 ns | 0.8464 ns | 0.9408 ns | 1.00 | 0.01 | - |
MessagePackSerializeSimpleStructs | 4,048.5905 ns | 7.5575 ns | 8.0864 ns | 30.90 | 0.37 | 1.57KB |
MemoryPackSerializeSimpleStructs | 140.2601 ns | 1.1547 ns | 1.2356 ns | 1.07 | 0.02 | 1.57KB |
NinoSerializeSimpleStructs | 131.0608 ns | 1.3623 ns | 1.5689 ns | 1.00 | 0.02 | 1.57KB |