- [fix] private members not deserialized in versions other than net8.0 onwards
- [fix] generic parameterized members in generic ninotype accepted class could not be detected automatically #141
- [update] polymorphic class analyzer now gives warnings for subtypes of ninotypes not being annotated with ninotype
Performance Report
expand
BenchmarkDotNet v0.14.0, Ubuntu 24.04.1 LTS (Noble Numbat)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 9.0.200
[Host] : .NET 8.0.13 (8.0.1325.6609), X64 RyuJIT AVX2
Job-CLWFMJ : .NET 9.0.2 (9.0.225.6610), X64 RyuJIT AVX2
Runtime=.NET 9.0 IterationCount=20 WarmupCount=1
Method | Mean | Error | StdDev | Ratio | RatioSD | Payload |
---|---|---|---|---|---|---|
MessagePackDeserializeSimpleClass | 1,993.5988 ns | 13.9185 ns | 15.4703 ns | 4.87 | 0.06 | - |
MemoryPackDeserializeSimpleClass | 614.7717 ns | 5.0560 ns | 5.8225 ns | 1.50 | 0.02 | - |
NinoDeserializeSimpleClass | 409.1681 ns | 3.3047 ns | 3.6732 ns | 1.00 | 0.01 | - |
MessagePackSerializeSimpleClass | 1,040.4506 ns | 1.0928 ns | 1.1222 ns | 6.04 | 0.03 | 700B |
MemoryPackSerializeSimpleClass | 503.6766 ns | 2.3678 ns | 2.6318 ns | 2.92 | 0.02 | 755B |
NinoSerializeSimpleClass | 172.2040 ns | 0.6464 ns | 0.7185 ns | 1.00 | 0.01 | 724B |
MessagePackDeserializeSimpleClasses | 200,021.8059 ns | 846.5230 ns | 905.7701 ns | 4.53 | 0.10 | - |
MemoryPackDeserializeSimpleClasses | 58,470.6426 ns | 818.8164 ns | 942.9502 ns | 1.32 | 0.03 | - |
NinoDeserializeSimpleClasses | 44,195.1658 ns | 823.5065 ns | 948.3513 ns | 1.00 | 0.03 | - |
MessagePackSerializeSimpleClasses | 101,093.1901 ns | 483.2914 ns | 537.1771 ns | 5.59 | 0.03 | 68.36KB |
MemoryPackSerializeSimpleClasses | 50,237.0820 ns | 203.9580 ns | 226.6988 ns | 2.78 | 0.01 | 73.73KB |
NinoSerializeSimpleClasses | 18,081.3676 ns | 47.9330 ns | 49.2237 ns | 1.00 | 0.00 | 70.71KB |
MessagePackDeserializeSimpleStruct | 87.2172 ns | 0.1031 ns | 0.1059 ns | 155.67 | 1.02 | - |
MemoryPackDeserializeSimpleStruct | 2.0183 ns | 0.0054 ns | 0.0056 ns | 3.60 | 0.03 | - |
NinoDeserializeSimpleStruct | 0.5603 ns | 0.0036 ns | 0.0037 ns | 1.00 | 0.01 | - |
MessagePackSerializeSimpleStruct | 82.1992 ns | 0.2852 ns | 0.3284 ns | 9.59 | 0.04 | 16B |
MemoryPackSerializeSimpleStruct | 7.8212 ns | 0.0192 ns | 0.0198 ns | 0.91 | 0.00 | 16B |
NinoSerializeSimpleStruct | 8.5745 ns | 0.0083 ns | 0.0085 ns | 1.00 | 0.00 | 16B |
MessagePackDeserializeSimpleStructs | 4,209.7948 ns | 10.8153 ns | 11.5722 ns | 49.83 | 0.43 | - |
MemoryPackDeserializeSimpleStructs | 111.0837 ns | 1.6337 ns | 1.8813 ns | 1.31 | 0.02 | - |
NinoDeserializeSimpleStructs | 84.4814 ns | 0.7013 ns | 0.7201 ns | 1.00 | 0.01 | - |
MessagePackSerializeSimpleStructs | 3,909.8772 ns | 18.4597 ns | 21.2582 ns | 80.55 | 0.48 | 1.57KB |
MemoryPackSerializeSimpleStructs | 53.4545 ns | 0.0981 ns | 0.1049 ns | 1.10 | 0.00 | 1.57KB |
NinoSerializeSimpleStructs | 48.5413 ns | 0.1143 ns | 0.1317 ns | 1.00 | 0.00 | 1.57KB |