v3.1.4
- [opt] make serialization slightly faster via using a shared bufferwriter while it is not serializing things in parallel
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-WVNICL : .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,988.2697 ns | 32.0367 ns | 36.8936 ns | 4.96 | 0.09 | - |
MemoryPackDeserializeSimpleClass | 573.2507 ns | 2.6845 ns | 2.9838 ns | 1.43 | 0.01 | - |
NinoDeserializeSimpleClass | 400.7535 ns | 1.4634 ns | 1.6265 ns | 1.00 | 0.01 | - |
MessagePackSerializeSimpleClass | 1,030.4215 ns | 4.5942 ns | 5.1064 ns | 5.87 | 0.05 | 700B |
MemoryPackSerializeSimpleClass | 532.3163 ns | 2.1490 ns | 2.2994 ns | 3.03 | 0.02 | 755B |
NinoSerializeSimpleClass | 175.5698 ns | 1.0395 ns | 1.1123 ns | 1.00 | 0.01 | 724B |
MessagePackDeserializeSimpleClasses | 192,175.7068 ns | 872.1247 ns | 1,004.3401 ns | 4.28 | 0.08 | - |
MemoryPackDeserializeSimpleClasses | 57,253.8884 ns | 350.3758 ns | 359.8101 ns | 1.28 | 0.02 | - |
NinoDeserializeSimpleClasses | 44,905.2994 ns | 744.1691 ns | 856.9862 ns | 1.00 | 0.03 | - |
MessagePackSerializeSimpleClasses | 101,128.9258 ns | 329.4064 ns | 352.4612 ns | 5.50 | 0.03 | 68.36KB |
MemoryPackSerializeSimpleClasses | 50,107.6096 ns | 468.9850 ns | 540.0838 ns | 2.73 | 0.03 | 73.73KB |
NinoSerializeSimpleClasses | 18,384.2238 ns | 76.1675 ns | 87.7147 ns | 1.00 | 0.01 | 70.71KB |
MessagePackDeserializeSimpleStruct | 76.5394 ns | 0.1847 ns | 0.2127 ns | 136.36 | 2.56 | - |
MemoryPackDeserializeSimpleStruct | 2.0440 ns | 0.0137 ns | 0.0152 ns | 3.64 | 0.07 | - |
NinoDeserializeSimpleStruct | 0.5615 ns | 0.0093 ns | 0.0108 ns | 1.00 | 0.03 | - |
MessagePackSerializeSimpleStruct | 83.4835 ns | 0.3941 ns | 0.4539 ns | 9.74 | 0.08 | 16B |
MemoryPackSerializeSimpleStruct | 7.8985 ns | 0.0449 ns | 0.0518 ns | 0.92 | 0.01 | 16B |
NinoSerializeSimpleStruct | 8.5739 ns | 0.0437 ns | 0.0503 ns | 1.00 | 0.01 | 16B |
MessagePackDeserializeSimpleStructs | 4,190.5427 ns | 45.5507 ns | 52.4563 ns | 50.67 | 0.79 | - |
MemoryPackDeserializeSimpleStructs | 109.8279 ns | 1.3538 ns | 1.5047 ns | 1.33 | 0.02 | - |
NinoDeserializeSimpleStructs | 82.7086 ns | 0.7211 ns | 0.8304 ns | 1.00 | 0.01 | - |
MessagePackSerializeSimpleStructs | 3,911.8417 ns | 4.3079 ns | 4.2309 ns | 80.05 | 0.23 | 1.57KB |
MemoryPackSerializeSimpleStructs | 49.5671 ns | 0.2052 ns | 0.2281 ns | 1.01 | 0.01 | 1.57KB |
NinoSerializeSimpleStructs | 48.8707 ns | 0.1394 ns | 0.1370 ns | 1.00 | 0.00 | 1.57KB |