Skip to content

v3.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 12 Nov 14:24

Nino.Serialization v3.0.0

  • [Optimization] Significantly faster serialization/deserialization
  • [Optimization] Reduce serialized binary size for string/collection/nullable
  • [Feat] Support serialize user-defined string in UTF-8
  • [Feat] Officially support cross-project referencing/inheriting NinoTypes

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-rc.2.24474.11
  [Host]     : .NET 8.0.10 (8.0.1024.46610), X64 RyuJIT AVX2
  Job-XNFPQM : .NET 9.0.0 (9.0.24.47305), X64 RyuJIT AVX2

Runtime=.NET 9.0  IterationCount=20  WarmupCount=1  

Method Mean Error StdDev Ratio RatioSD Payload
MessagePackDeserializeSimpleClass 1,989.5675 ns 7.7502 ns 7.9589 ns 4.36 0.03 -
MemoryPackDeserializeSimpleClass 619.5664 ns 3.1183 ns 3.5910 ns 1.36 0.01 -
NinoDeserializeSimpleClass 456.3293 ns 2.3063 ns 2.6559 ns 1.00 0.01 -
MessagePackSerializeSimpleClass 1,112.9107 ns 2.1391 ns 2.1009 ns 4.39 0.03 700B
MemoryPackSerializeSimpleClass 584.9595 ns 3.7039 ns 4.1169 ns 2.31 0.02 755B
NinoSerializeSimpleClass 253.3733 ns 1.8258 ns 1.9536 ns 1.00 0.01 724B
MessagePackDeserializeSimpleClasses 194,239.6624 ns 1,153.2492 ns 1,281.8334 ns 4.09 0.04 -
MemoryPackDeserializeSimpleClasses 60,379.9549 ns 360.4857 ns 370.1922 ns 1.27 0.01 -
NinoDeserializeSimpleClasses 47,537.9703 ns 278.0723 ns 320.2285 ns 1.00 0.01 -
MessagePackSerializeSimpleClasses 109,926.0461 ns 487.1932 ns 561.0524 ns 4.64 0.04 68.36KB
MemoryPackSerializeSimpleClasses 54,562.6891 ns 355.0711 ns 408.9004 ns 2.31 0.02 73.73KB
NinoSerializeSimpleClasses 23,670.9496 ns 170.5554 ns 189.5719 ns 1.00 0.01 70.71KB
MessagePackDeserializeSimpleStruct 74.0065 ns 0.0545 ns 0.0560 ns 126.73 1.80 -
MemoryPackDeserializeSimpleStruct 2.0337 ns 0.0118 ns 0.0136 ns 3.48 0.05 -
NinoDeserializeSimpleStruct 0.5841 ns 0.0080 ns 0.0085 ns 1.00 0.02 -
MessagePackSerializeSimpleStruct 78.7078 ns 0.6090 ns 0.6769 ns 9.05 0.10 16B
MemoryPackSerializeSimpleStruct 16.0308 ns 1.1811 ns 1.2637 ns 1.84 0.14 16B
NinoSerializeSimpleStruct 8.7005 ns 0.0527 ns 0.0607 ns 1.00 0.01 16B
MessagePackDeserializeSimpleStructs 4,677.0999 ns 24.5057 ns 28.2208 ns 34.22 0.49 -
MemoryPackDeserializeSimpleStructs 164.0958 ns 1.3463 ns 1.4964 ns 1.20 0.02 -
NinoDeserializeSimpleStructs 136.6830 ns 1.6540 ns 1.8384 ns 1.00 0.02 -
MessagePackSerializeSimpleStructs 4,018.0001 ns 7.3613 ns 7.2298 ns 29.05 0.29 1.57KB
MemoryPackSerializeSimpleStructs 149.4565 ns 2.0011 ns 2.3045 ns 1.08 0.02 1.57KB
NinoSerializeSimpleStructs 138.3060 ns 1.2612 ns 1.4019 ns 1.00 0.01 1.57KB