Skip to content

Releases: JasonXuDeveloper/Nino

v3.2.12

09 Mar 11:32
Compare
Choose a tag to compare
  • [change] downgrade minimum required dotnet version so it is now compatible with projects using netstandard

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.200
  [Host]     : .NET 8.0.13 (8.0.1325.6609), X64 RyuJIT AVX2
  Job-ETUREX : .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,497.9458 ns 20.0712 ns 23.1140 ns 3.55 0.06 -
MemoryPackDeserializeSimpleClass 639.6332 ns 4.6525 ns 5.1712 ns 1.52 0.02 -
NinoDeserializeSimpleClass 421.4202 ns 3.0475 ns 3.5095 ns 1.00 0.01 -
MessagePackSerializeSimpleClass 1,115.4092 ns 1.3454 ns 1.4396 ns 4.47 0.01 700B
MemoryPackSerializeSimpleClass 510.9079 ns 2.5681 ns 2.9575 ns 2.05 0.01 755B
NinoSerializeSimpleClass 249.2957 ns 0.3023 ns 0.2969 ns 1.00 0.00 764B
MessagePackDeserializeSimpleClasses 148,789.6418 ns 688.5370 ns 707.0768 ns 3.27 0.02 -
MemoryPackDeserializeSimpleClasses 57,037.4773 ns 325.2997 ns 374.6157 ns 1.25 0.01 -
NinoDeserializeSimpleClasses 45,488.0641 ns 160.6657 ns 178.5795 ns 1.00 0.01 -
MessagePackSerializeSimpleClasses 103,102.9413 ns 460.4067 ns 530.2051 ns 3.96 0.02 68.36KB
MemoryPackSerializeSimpleClasses 46,672.3368 ns 330.4472 ns 353.5748 ns 1.79 0.01 73.73KB
NinoSerializeSimpleClasses 26,022.3874 ns 16.8147 ns 17.2675 ns 1.00 0.00 75KB
MessagePackDeserializeSimpleStruct 69.3754 ns 0.1918 ns 0.1970 ns 129.41 2.05 -
MemoryPackDeserializeSimpleStruct 2.0412 ns 0.0062 ns 0.0061 ns 3.81 0.06 -
NinoDeserializeSimpleStruct 0.5362 ns 0.0082 ns 0.0087 ns 1.00 0.02 -
MessagePackSerializeSimpleStruct 83.0504 ns 0.3087 ns 0.3432 ns 12.95 0.11 16B
MemoryPackSerializeSimpleStruct 5.8831 ns 0.0242 ns 0.0269 ns 0.92 0.01 16B
NinoSerializeSimpleStruct 6.4157 ns 0.0405 ns 0.0467 ns 1.00 0.01 16B
MessagePackDeserializeSimpleStructs 3,774.0169 ns 9.8540 ns 11.3479 ns 45.34 0.42 -
MemoryPackDeserializeSimpleStructs 107.9010 ns 1.0887 ns 1.2101 ns 1.30 0.02 -
NinoDeserializeSimpleStructs 83.2520 ns 0.6671 ns 0.7415 ns 1.00 0.01 -
MessagePackSerializeSimpleStructs 4,212.8953 ns 19.5923 ns 22.5625 ns 152.04 0.84 1.57KB
MemoryPackSerializeSimpleStructs 28.7771 ns 0.1398 ns 0.1554 ns 1.04 0.01 1.57KB
NinoSerializeSimpleStructs 27.7090 ns 0.0445 ns 0.0495 ns 1.00 0.00 1.57KB
MessagePackDeserializeVectors 259,075.4664 ns 1,489.1483 ns 1,714.9054 ns 16.65 0.50 -
MemoryPackDeserializeVectors 16,096.8578 ns 749.2842 ns 862.8768 ns 1.03 0.06 -
NinoDeserializeVectors 15,577.5266 ns 406.3191 ns 467.9177 ns 1.00 0.04 -
MessagePackSerializeVectors 311,073.2330 ns 762.0786 ns 877.6108 ns 84.97 0.28 205.08KB
MemoryPackSerializeVectors 3,821.3760 ns 6.5637 ns 7.5587 ns 1.04 0.00 156.25KB
NinoSerializeVectors 3,661.1959 ns 6.6714 ns 6.8510 ns 1.00 0.00 156.25KB

v3.2.11

09 Mar 09:54
Compare
Choose a tag to compare
  • [change] downgrade minimum required dotnet version so it is now compatible with projects using netstandard

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.200
  [Host]     : .NET 8.0.13 (8.0.1325.6609), X64 RyuJIT AVX2
  Job-ZLXIFH : .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,485.2965 ns 17.0821 ns 18.9867 ns 3.60 0.06 -
MemoryPackDeserializeSimpleClass 569.7497 ns 2.6711 ns 2.8580 ns 1.38 0.02 -
NinoDeserializeSimpleClass 412.3946 ns 4.2350 ns 4.8770 ns 1.00 0.02 -
MessagePackSerializeSimpleClass 1,076.3770 ns 4.3152 ns 4.9694 ns 4.36 0.02 700B
MemoryPackSerializeSimpleClass 502.8296 ns 2.7463 ns 3.0525 ns 2.04 0.01 755B
NinoSerializeSimpleClass 246.9451 ns 0.6319 ns 0.6761 ns 1.00 0.00 764B
MessagePackDeserializeSimpleClasses 145,431.2620 ns 1,046.3146 ns 1,162.9759 ns 3.14 0.03 -
MemoryPackDeserializeSimpleClasses 55,966.2347 ns 146.3007 ns 156.5402 ns 1.21 0.01 -
NinoDeserializeSimpleClasses 46,337.0777 ns 186.7744 ns 199.8465 ns 1.00 0.01 -
MessagePackSerializeSimpleClasses 105,759.0372 ns 213.6723 ns 228.6270 ns 3.94 0.03 68.36KB
MemoryPackSerializeSimpleClasses 47,243.4290 ns 161.8903 ns 173.2208 ns 1.76 0.01 73.73KB
NinoSerializeSimpleClasses 26,855.3130 ns 183.2283 ns 203.6578 ns 1.00 0.01 75KB
MessagePackDeserializeSimpleStruct 68.4642 ns 0.0516 ns 0.0530 ns 126.84 2.10 -
MemoryPackDeserializeSimpleStruct 2.2537 ns 0.0736 ns 0.0756 ns 4.18 0.15 -
NinoDeserializeSimpleStruct 0.5399 ns 0.0083 ns 0.0093 ns 1.00 0.02 -
MessagePackSerializeSimpleStruct 83.2196 ns 0.2393 ns 0.2560 ns 12.97 0.08 16B
MemoryPackSerializeSimpleStruct 5.8800 ns 0.0097 ns 0.0103 ns 0.92 0.00 16B
NinoSerializeSimpleStruct 6.4160 ns 0.0294 ns 0.0339 ns 1.00 0.01 16B
MessagePackDeserializeSimpleStructs 3,754.8310 ns 11.4452 ns 13.1803 ns 46.03 0.35 -
MemoryPackDeserializeSimpleStructs 109.5384 ns 2.0944 ns 2.4120 ns 1.34 0.03 -
NinoDeserializeSimpleStructs 81.5729 ns 0.5286 ns 0.5656 ns 1.00 0.01 -
MessagePackSerializeSimpleStructs 4,035.2542 ns 2.8011 ns 3.1134 ns 146.61 0.37 1.57KB
MemoryPackSerializeSimpleStructs 28.9444 ns 0.1059 ns 0.1087 ns 1.05 0.00 1.57KB
NinoSerializeSimpleStructs 27.5242 ns 0.0620 ns 0.0689 ns 1.00 0.00 1.57KB
MessagePackDeserializeVectors 261,424.8946 ns 1,060.8919 ns 1,179.1785 ns 16.55 0.47 -
MemoryPackDeserializeVectors 15,889.2688 ns 368.3929 ns 409.4678 ns 1.01 0.04 -
NinoDeserializeVectors 15,803.6223 ns 387.2665 ns 445.9766 ns 1.00 0.04 -
MessagePackSerializeVectors 307,528.8095 ns 2,281.8002 ns 2,627.7245 ns 67.05 0.78 205.08KB
MemoryPackSerializeVectors 3,655.5333 ns 5.8049 ns 5.9612 ns 0.80 0.01 156.25KB
NinoSerializeVectors 4,586.5435 ns 34.1898 ns 38.0018 ns 1.00 0.01 156.25KB

v3.2.10

09 Mar 09:36
Compare
Choose a tag to compare
  • [change] downgrade minimum required dotnet version so it is now compatible with projects using netstandard

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.200
  [Host]     : .NET 8.0.13 (8.0.1325.6609), X64 RyuJIT AVX2
  Job-YGZOON : .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,485.2831 ns 7.8457 ns 7.7056 ns 3.56 0.02 -
MemoryPackDeserializeSimpleClass 573.4143 ns 3.3458 ns 3.7189 ns 1.37 0.01 -
NinoDeserializeSimpleClass 417.6919 ns 1.6767 ns 1.8636 ns 1.00 0.01 -
MessagePackSerializeSimpleClass 1,100.6534 ns 1.6591 ns 1.6295 ns 4.48 0.02 700B
MemoryPackSerializeSimpleClass 496.1185 ns 3.3202 ns 3.6904 ns 2.02 0.02 755B
NinoSerializeSimpleClass 245.5752 ns 0.7534 ns 0.8676 ns 1.00 0.00 764B
MessagePackDeserializeSimpleClasses 146,905.9775 ns 993.1580 ns 1,143.7222 ns 3.21 0.03 -
MemoryPackDeserializeSimpleClasses 55,268.5840 ns 316.8966 ns 352.2298 ns 1.21 0.01 -
NinoDeserializeSimpleClasses 45,817.1904 ns 291.8799 ns 336.1294 ns 1.00 0.01 -
MessagePackSerializeSimpleClasses 106,030.1330 ns 445.5482 ns 513.0940 ns 4.01 0.02 68.36KB
MemoryPackSerializeSimpleClasses 48,795.6369 ns 189.1872 ns 194.2813 ns 1.85 0.01 73.73KB
NinoSerializeSimpleClasses 26,445.2865 ns 93.0516 ns 99.5641 ns 1.00 0.01 75KB
MessagePackDeserializeSimpleStruct 68.4967 ns 0.3096 ns 0.3565 ns 127.78 2.76 -
MemoryPackDeserializeSimpleStruct 2.0473 ns 0.0133 ns 0.0137 ns 3.82 0.08 -
NinoDeserializeSimpleStruct 0.5363 ns 0.0110 ns 0.0118 ns 1.00 0.03 -
MessagePackSerializeSimpleStruct 83.0532 ns 0.2429 ns 0.2699 ns 12.98 0.07 16B
MemoryPackSerializeSimpleStruct 5.8789 ns 0.0339 ns 0.0376 ns 0.92 0.01 16B
NinoSerializeSimpleStruct 6.3997 ns 0.0255 ns 0.0273 ns 1.00 0.01 16B
MessagePackDeserializeSimpleStructs 3,702.9951 ns 13.2512 ns 14.7287 ns 45.45 0.33 -
MemoryPackDeserializeSimpleStructs 105.6294 ns 0.5506 ns 0.6341 ns 1.30 0.01 -
NinoDeserializeSimpleStructs 81.4751 ns 0.4704 ns 0.5229 ns 1.00 0.01 -
MessagePackSerializeSimpleStructs 4,098.3810 ns 23.1340 ns 25.7134 ns 147.77 0.96 1.57KB
MemoryPackSerializeSimpleStructs 28.7023 ns 0.1469 ns 0.1572 ns 1.03 0.01 1.57KB
NinoSerializeSimpleStructs 27.7346 ns 0.0525 ns 0.0604 ns 1.00 0.00 1.57KB
MessagePackDeserializeVectors 262,843.5771 ns 1,265.7216 ns 1,457.6069 ns 16.77 0.50 -
MemoryPackDeserializeVectors 16,068.8240 ns 503.4596 ns 579.7848 ns 1.02 0.05 -
NinoDeserializeVectors 15,691.1857 ns 416.3047 ns 479.4171 ns 1.00 0.04 -
MessagePackSerializeVectors 299,336.6488 ns 394.1012 ns 438.0424 ns 82.76 0.15 205.08KB
MemoryPackSerializeVectors 4,367.3578 ns 144.8759 ns 166.8393 ns 1.21 0.05 156.25KB
NinoSerializeVectors 3,616.9611 ns 3.7600 ns 4.0232 ns 1.00 0.00 156.25KB

v3.2.9

05 Mar 14:49
Compare
Choose a tag to compare
  • [fix] fix collection generation errors
  • [fix] fix tuple type recognition issues
  • [feat] support stack and other collections

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.200
  [Host]     : .NET 8.0.13 (8.0.1325.6609), X64 RyuJIT AVX2
  Job-VBDPHT : .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,540.2043 ns 10.4981 ns 12.0896 ns 3.46 0.05 -
MemoryPackDeserializeSimpleClass 600.5619 ns 3.8727 ns 4.4598 ns 1.35 0.02 -
NinoDeserializeSimpleClass 444.6153 ns 5.1148 ns 5.8902 ns 1.00 0.02 -
MessagePackSerializeSimpleClass 1,097.3390 ns 7.6990 ns 8.2378 ns 4.39 0.04 700B
MemoryPackSerializeSimpleClass 504.9411 ns 2.9544 ns 3.2838 ns 2.02 0.02 755B
NinoSerializeSimpleClass 250.0589 ns 1.4661 ns 1.6295 ns 1.00 0.01 764B
MessagePackDeserializeSimpleClasses 150,636.0543 ns 764.8813 ns 850.1636 ns 3.14 0.04 -
MemoryPackDeserializeSimpleClasses 59,210.8618 ns 449.9242 ns 518.1334 ns 1.24 0.02 -
NinoDeserializeSimpleClasses 47,904.4899 ns 452.5299 ns 521.1341 ns 1.00 0.01 -
MessagePackSerializeSimpleClasses 102,355.7512 ns 389.4996 ns 432.9278 ns 3.90 0.02 68.36KB
MemoryPackSerializeSimpleClasses 47,510.5027 ns 275.5147 ns 306.2339 ns 1.81 0.01 73.73KB
NinoSerializeSimpleClasses 26,237.2667 ns 39.7925 ns 40.8639 ns 1.00 0.00 75KB
MessagePackDeserializeSimpleStruct 70.5529 ns 0.3044 ns 0.3505 ns 130.64 2.08 -
MemoryPackDeserializeSimpleStruct 2.0718 ns 0.0320 ns 0.0369 ns 3.84 0.09 -
NinoDeserializeSimpleStruct 0.5402 ns 0.0076 ns 0.0085 ns 1.00 0.02 -
MessagePackSerializeSimpleStruct 83.5358 ns 0.2970 ns 0.3178 ns 12.99 0.12 16B
MemoryPackSerializeSimpleStruct 5.8508 ns 0.0044 ns 0.0043 ns 0.91 0.01 16B
NinoSerializeSimpleStruct 6.4331 ns 0.0518 ns 0.0576 ns 1.00 0.01 16B
MessagePackDeserializeSimpleStructs 3,763.2257 ns 18.0243 ns 20.7569 ns 43.18 1.04 -
MemoryPackDeserializeSimpleStructs 113.7087 ns 2.0591 ns 2.2032 ns 1.30 0.04 -
NinoDeserializeSimpleStructs 87.2048 ns 1.8369 ns 2.1154 ns 1.00 0.03 -
MessagePackSerializeSimpleStructs 4,157.6511 ns 21.0570 ns 24.2493 ns 149.94 0.93 1.57KB
MemoryPackSerializeSimpleStructs 28.8872 ns 0.1059 ns 0.1177 ns 1.04 0.00 1.57KB
NinoSerializeSimpleStructs 27.7281 ns 0.0638 ns 0.0709 ns 1.00 0.00 1.57KB
MessagePackDeserializeVectors 259,010.5146 ns 1,330.8642 ns 1,532.6252 ns 16.22 0.66 -
MemoryPackDeserializeVectors 16,281.7799 ns 525.3334 ns 583.9067 ns 1.02 0.05 -
NinoDeserializeVectors 15,995.2698 ns 576.2846 ns 663.6502 ns 1.00 0.06 -
MessagePackSerializeVectors 303,839.3852 ns 2,737.8245 ns 2,929.4416 ns 77.69 6.05 205.08KB
MemoryPackSerializeVectors 4,150.1798 ns 350.3555 ns 403.4699 ns 1.06 0.13 156.25KB
NinoSerializeVectors 3,935.9410 ns 291.6825 ns 335.9020 ns 1.01 0.11 156.25KB

v3.2.8

05 Mar 03:10
Compare
Choose a tag to compare
  • [fix] fix accessibility problem of the generated code
  • [fix] fix type deterministic problem for custom collection type
  • [fix] fix inaccurate code generation for generic 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.200
  [Host]     : .NET 8.0.13 (8.0.1325.6609), X64 RyuJIT AVX2
  Job-DAACWM : .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,583.1725 ns 7.8565 ns 8.4063 ns 3.39 0.05 -
MemoryPackDeserializeSimpleClass 631.8886 ns 6.6690 ns 7.6801 ns 1.35 0.02 -
NinoDeserializeSimpleClass 466.5702 ns 5.8856 ns 6.7779 ns 1.00 0.02 -
MessagePackSerializeSimpleClass 1,095.8691 ns 4.5137 ns 5.0170 ns 4.43 0.03 700B
MemoryPackSerializeSimpleClass 498.7927 ns 1.9662 ns 2.2642 ns 2.02 0.02 755B
NinoSerializeSimpleClass 247.2072 ns 1.4318 ns 1.5915 ns 1.00 0.01 764B
MessagePackDeserializeSimpleClasses 153,973.6023 ns 443.5064 ns 492.9562 ns 3.04 0.03 -
MemoryPackDeserializeSimpleClasses 63,959.5765 ns 579.1813 ns 666.9861 ns 1.26 0.02 -
NinoDeserializeSimpleClasses 50,736.0278 ns 454.1777 ns 523.0317 ns 1.00 0.01 -
MessagePackSerializeSimpleClasses 104,232.3038 ns 333.0125 ns 383.4977 ns 3.98 0.02 68.36KB
MemoryPackSerializeSimpleClasses 47,828.1878 ns 228.1362 ns 244.1032 ns 1.82 0.01 73.73KB
NinoSerializeSimpleClasses 26,208.6507 ns 66.2920 ns 70.9317 ns 1.00 0.00 75KB
MessagePackDeserializeSimpleStruct 67.9352 ns 0.2045 ns 0.2100 ns 126.13 2.02 -
MemoryPackDeserializeSimpleStruct 2.2625 ns 0.0558 ns 0.0620 ns 4.20 0.13 -
NinoDeserializeSimpleStruct 0.5387 ns 0.0079 ns 0.0087 ns 1.00 0.02 -
MessagePackSerializeSimpleStruct 83.9361 ns 0.2946 ns 0.3393 ns 13.13 0.06 16B
MemoryPackSerializeSimpleStruct 5.8853 ns 0.0320 ns 0.0369 ns 0.92 0.01 16B
NinoSerializeSimpleStruct 6.3921 ns 0.0103 ns 0.0101 ns 1.00 0.00 16B
MessagePackDeserializeSimpleStructs 3,790.1051 ns 10.6470 ns 11.8341 ns 33.97 0.87 -
MemoryPackDeserializeSimpleStructs 140.4757 ns 3.9538 ns 4.5531 ns 1.26 0.05 -
NinoDeserializeSimpleStructs 111.6422 ns 2.6569 ns 2.9531 ns 1.00 0.04 -
MessagePackSerializeSimpleStructs 4,154.8536 ns 5.1816 ns 5.5443 ns 149.84 0.39 1.57KB
MemoryPackSerializeSimpleStructs 29.2063 ns 0.0896 ns 0.0996 ns 1.05 0.00 1.57KB
NinoSerializeSimpleStructs 27.7295 ns 0.0669 ns 0.0657 ns 1.00 0.00 1.57KB
MessagePackDeserializeVectors 269,031.7749 ns 955.5440 ns 1,022.4213 ns 17.25 0.52 -
MemoryPackDeserializeVectors 16,012.5433 ns 365.8850 ns 406.6802 ns 1.03 0.04 -
NinoDeserializeVectors 15,606.2313 ns 436.8047 ns 485.5073 ns 1.00 0.04 -
MessagePackSerializeVectors 311,413.3132 ns 2,724.4300 ns 3,137.4577 ns 71.61 8.25 205.08KB
MemoryPackSerializeVectors 3,659.4877 ns 3.6424 ns 3.5773 ns 0.84 0.10 156.25KB
NinoSerializeVectors 4,399.8749 ns 398.9721 ns 459.4568 ns 1.01 0.16 156.25KB

v3.2.7

04 Mar 14:50
Compare
Choose a tag to compare
  • [fix] eliminate extra generic types to collect

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.200
  [Host]     : .NET 8.0.13 (8.0.1325.6609), X64 RyuJIT AVX2
  Job-GDDLUN : .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,529.9548 ns 8.1717 ns 9.0828 ns 3.62 0.04 -
MemoryPackDeserializeSimpleClass 590.1145 ns 4.3641 ns 5.0257 ns 1.40 0.02 -
NinoDeserializeSimpleClass 422.8889 ns 3.7897 ns 4.3643 ns 1.00 0.01 -
MessagePackSerializeSimpleClass 1,098.7526 ns 5.9051 ns 6.5635 ns 4.51 0.03 700B
MemoryPackSerializeSimpleClass 502.4303 ns 2.9633 ns 3.4126 ns 2.06 0.02 755B
NinoSerializeSimpleClass 243.4800 ns 0.8991 ns 0.9620 ns 1.00 0.01 764B
MessagePackDeserializeSimpleClasses 149,432.5441 ns 1,084.7440 ns 1,205.6900 ns 3.31 0.05 -
MemoryPackDeserializeSimpleClasses 57,441.4475 ns 260.3130 ns 299.7769 ns 1.27 0.02 -
NinoDeserializeSimpleClasses 45,122.9540 ns 547.9497 ns 631.0196 ns 1.00 0.02 -
MessagePackSerializeSimpleClasses 105,339.2619 ns 111.3413 ns 119.1339 ns 4.04 0.02 68.36KB
MemoryPackSerializeSimpleClasses 47,946.3991 ns 291.3317 ns 311.7217 ns 1.84 0.02 73.73KB
NinoSerializeSimpleClasses 26,100.7149 ns 121.4045 ns 139.8096 ns 1.00 0.01 75KB
MessagePackDeserializeSimpleStruct 73.0370 ns 0.0835 ns 0.0858 ns 137.97 1.68 -
MemoryPackDeserializeSimpleStruct 2.0685 ns 0.0243 ns 0.0280 ns 3.91 0.07 -
NinoDeserializeSimpleStruct 0.5295 ns 0.0058 ns 0.0066 ns 1.00 0.02 -
MessagePackSerializeSimpleStruct 84.7164 ns 0.2908 ns 0.2856 ns 13.14 0.07 16B
MemoryPackSerializeSimpleStruct 5.8970 ns 0.0228 ns 0.0254 ns 0.91 0.01 16B
NinoSerializeSimpleStruct 6.4459 ns 0.0252 ns 0.0290 ns 1.00 0.01 16B
MessagePackDeserializeSimpleStructs 3,679.2060 ns 18.7474 ns 20.8377 ns 44.90 0.43 -
MemoryPackDeserializeSimpleStructs 105.4701 ns 0.8014 ns 0.9229 ns 1.29 0.01 -
NinoDeserializeSimpleStructs 81.9420 ns 0.5927 ns 0.6588 ns 1.00 0.01 -
MessagePackSerializeSimpleStructs 4,125.3631 ns 12.5158 ns 12.8528 ns 149.08 0.60 1.57KB
MemoryPackSerializeSimpleStructs 28.3347 ns 0.1228 ns 0.1414 ns 1.02 0.01 1.57KB
NinoSerializeSimpleStructs 27.6731 ns 0.0646 ns 0.0743 ns 1.00 0.00 1.57KB
MessagePackDeserializeVectors 257,714.3706 ns 1,107.8096 ns 1,231.3275 ns 16.21 0.64 -
MemoryPackDeserializeVectors 16,071.6347 ns 595.9266 ns 686.2699 ns 1.01 0.06 -
NinoDeserializeVectors 15,923.9701 ns 547.1614 ns 630.1119 ns 1.00 0.05 -
MessagePackSerializeVectors 298,216.7977 ns 603.1670 ns 619.4081 ns 83.14 0.25 205.08KB
MemoryPackSerializeVectors 3,624.9449 ns 5.1888 ns 5.7674 ns 1.01 0.00 156.25KB
NinoSerializeVectors 3,587.0269 ns 7.3063 ns 8.1210 ns 1.00 0.00 156.25KB

v3.2.6

04 Mar 05:56
Compare
Choose a tag to compare
  • [feat] support tuple/valuetuple
  • [opt] optimized list deserialization performance
  • [opt] optimized code generation procedural with collections of serializable type

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.200
  [Host]     : .NET 8.0.13 (8.0.1325.6609), X64 RyuJIT AVX2
  Job-VJXGJG : .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,483.8507 ns 14.8129 ns 15.2118 ns 3.53 0.07 -
MemoryPackDeserializeSimpleClass 578.1328 ns 7.3368 ns 8.4491 ns 1.37 0.03 -
NinoDeserializeSimpleClass 420.6979 ns 6.4684 ns 7.4490 ns 1.00 0.02 -
MessagePackSerializeSimpleClass 1,096.8557 ns 5.8449 ns 6.4966 ns 4.46 0.03 700B
MemoryPackSerializeSimpleClass 492.1488 ns 0.2673 ns 0.2500 ns 2.00 0.01 755B
NinoSerializeSimpleClass 246.0893 ns 1.1196 ns 1.2893 ns 1.00 0.01 764B
MessagePackDeserializeSimpleClasses 146,839.8070 ns 2,062.6151 ns 2,292.5912 ns 3.33 0.07 -
MemoryPackDeserializeSimpleClasses 56,051.6521 ns 438.4227 ns 504.8882 ns 1.27 0.02 -
NinoDeserializeSimpleClasses 44,155.2971 ns 544.8255 ns 627.4218 ns 1.00 0.02 -
MessagePackSerializeSimpleClasses 105,710.6126 ns 385.0690 ns 428.0032 ns 4.01 0.02 68.36KB
MemoryPackSerializeSimpleClasses 47,611.6655 ns 244.5375 ns 281.6097 ns 1.81 0.01 73.73KB
NinoSerializeSimpleClasses 26,353.4316 ns 83.0336 ns 95.6216 ns 1.00 0.00 75KB
MessagePackDeserializeSimpleStruct 68.9400 ns 0.3843 ns 0.4426 ns 129.71 1.32 -
MemoryPackDeserializeSimpleStruct 2.0679 ns 0.0250 ns 0.0278 ns 3.89 0.06 -
NinoDeserializeSimpleStruct 0.5315 ns 0.0041 ns 0.0044 ns 1.00 0.01 -
MessagePackSerializeSimpleStruct 83.9686 ns 0.3241 ns 0.3602 ns 13.10 0.08 16B
MemoryPackSerializeSimpleStruct 5.8490 ns 0.0061 ns 0.0060 ns 0.91 0.00 16B
NinoSerializeSimpleStruct 6.4089 ns 0.0277 ns 0.0318 ns 1.00 0.01 16B
MessagePackDeserializeSimpleStructs 3,668.5172 ns 28.3802 ns 32.6826 ns 44.17 0.75 -
MemoryPackDeserializeSimpleStructs 107.3922 ns 1.1130 ns 1.2818 ns 1.29 0.02 -
NinoDeserializeSimpleStructs 83.0716 ns 1.1900 ns 1.2220 ns 1.00 0.02 -
MessagePackSerializeSimpleStructs 4,209.7590 ns 5.7099 ns 5.8636 ns 152.24 0.35 1.57KB
MemoryPackSerializeSimpleStructs 28.5267 ns 0.0734 ns 0.0816 ns 1.03 0.00 1.57KB
NinoSerializeSimpleStructs 27.6520 ns 0.0458 ns 0.0528 ns 1.00 0.00 1.57KB
MessagePackDeserializeVectors 259,715.9490 ns 1,350.7009 ns 1,501.3005 ns 16.66 0.51 -
MemoryPackDeserializeVectors 16,130.2856 ns 690.8292 ns 795.5600 ns 1.03 0.06 -
NinoDeserializeVectors 15,602.8523 ns 439.3026 ns 488.2837 ns 1.00 0.04 -
MessagePackSerializeVectors 301,704.4559 ns 389.0226 ns 382.0722 ns 85.40 0.15 205.08KB
MemoryPackSerializeVectors 3,530.8615 ns 5.3813 ns 5.7580 ns 1.00 0.00 156.25KB
NinoSerializeVectors 3,532.6461 ns 4.5035 ns 4.6247 ns 1.00 0.00 156.25KB

v3.2.5

03 Mar 14:19
Compare
Choose a tag to compare
  • [feat] support deserialize to collection virtual interfaces (IList, IDictionary, Dictionary<int, IDictionary<X,Y>[]>, etc.)

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.200
  [Host]     : .NET 8.0.13 (8.0.1325.6609), X64 RyuJIT AVX2
  Job-CQQTKR : .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 2,026.1171 ns 13.0717 ns 15.0534 ns 4.79 0.10 -
MemoryPackDeserializeSimpleClass 579.1375 ns 5.9236 ns 6.8217 ns 1.37 0.03 -
NinoDeserializeSimpleClass 423.4281 ns 7.3150 ns 8.4240 ns 1.00 0.03 -
MessagePackSerializeSimpleClass 1,039.6652 ns 3.6135 ns 4.0164 ns 4.67 0.03 700B
MemoryPackSerializeSimpleClass 497.9463 ns 2.1423 ns 2.2923 ns 2.24 0.01 755B
NinoSerializeSimpleClass 222.3951 ns 0.8131 ns 0.9038 ns 1.00 0.01 764B
MessagePackDeserializeSimpleClasses 197,741.8859 ns 957.9060 ns 1,103.1260 ns 4.39 0.06 -
MemoryPackDeserializeSimpleClasses 57,060.8529 ns 254.8968 ns 261.7602 ns 1.27 0.02 -
NinoDeserializeSimpleClasses 45,038.9390 ns 519.3996 ns 555.7517 ns 1.00 0.02 -
MessagePackSerializeSimpleClasses 102,406.8637 ns 611.3756 ns 704.0610 ns 4.25 0.03 68.36KB
MemoryPackSerializeSimpleClasses 48,134.2987 ns 323.2547 ns 359.2967 ns 2.00 0.02 73.73KB
NinoSerializeSimpleClasses 24,109.4089 ns 80.3291 ns 89.2855 ns 1.00 0.01 75KB
MessagePackDeserializeSimpleStruct 76.8635 ns 0.2282 ns 0.2628 ns 139.54 1.75 -
MemoryPackDeserializeSimpleStruct 2.0002 ns 0.0118 ns 0.0131 ns 3.63 0.05 -
NinoDeserializeSimpleStruct 0.5509 ns 0.0060 ns 0.0069 ns 1.00 0.02 -
MessagePackSerializeSimpleStruct 81.2985 ns 0.2249 ns 0.2590 ns 12.72 0.06 16B
MemoryPackSerializeSimpleStruct 5.6211 ns 0.3033 ns 0.3493 ns 0.88 0.05 16B
NinoSerializeSimpleStruct 6.3902 ns 0.0199 ns 0.0213 ns 1.00 0.00 16B
MessagePackDeserializeSimpleStructs 4,228.5890 ns 23.1556 ns 26.6660 ns 49.87 1.25 -
MemoryPackDeserializeSimpleStructs 108.1880 ns 2.2623 ns 2.6053 ns 1.28 0.04 -
NinoDeserializeSimpleStructs 84.8428 ns 1.8653 ns 2.1481 ns 1.00 0.03 -
MessagePackSerializeSimpleStructs 3,977.7907 ns 16.6471 ns 19.1708 ns 147.99 0.87 1.57KB
MemoryPackSerializeSimpleStructs 30.5206 ns 0.1392 ns 0.1547 ns 1.14 0.01 1.57KB
NinoSerializeSimpleStructs 26.8791 ns 0.0835 ns 0.0962 ns 1.00 0.00 1.57KB
MessagePackDeserializeVectors 255,883.6691 ns 1,672.8184 ns 1,926.4202 ns 16.53 0.59 -
MemoryPackDeserializeVectors 15,760.1919 ns 489.4245 ns 543.9940 ns 1.02 0.05 -
NinoDeserializeVectors 15,496.7016 ns 488.1333 ns 562.1350 ns 1.00 0.05 -
MessagePackSerializeVectors 229,933.9904 ns 228.3642 ns 253.8262 ns 64.48 0.13 205.08KB
MemoryPackSerializeVectors 3,708.3074 ns 52.0949 ns 59.9925 ns 1.04 0.02 156.25KB
NinoSerializeVectors 3,565.9340 ns 5.2720 ns 6.0712 ns 1.00 0.00 156.25KB

v3.2.4

03 Mar 12:51
Compare
Choose a tag to compare
  • [feat] provide more annotators to prevent potential problems when defining ninotypes
  • [fix] eliminate private/protected collection element type when generating collection code
  • [fix] support serializing/deserializing cross-project type's private members via explicit ordering for platform below NET8.0

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.200
  [Host]     : .NET 8.0.13 (8.0.1325.6609), X64 RyuJIT AVX2
  Job-JMUIMQ : .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 2,031.7037 ns 14.5465 ns 15.5646 ns 4.78 0.07 -
MemoryPackDeserializeSimpleClass 596.6741 ns 12.3746 ns 14.2506 ns 1.40 0.04 -
NinoDeserializeSimpleClass 425.3424 ns 4.4882 ns 4.9886 ns 1.00 0.02 -
MessagePackSerializeSimpleClass 1,056.1337 ns 3.6050 ns 3.8573 ns 4.79 0.02 700B
MemoryPackSerializeSimpleClass 493.9918 ns 1.6571 ns 1.7731 ns 2.24 0.01 755B
NinoSerializeSimpleClass 220.3131 ns 0.6961 ns 0.7737 ns 1.00 0.00 764B
MessagePackDeserializeSimpleClasses 197,781.2444 ns 1,578.3945 ns 1,817.6815 ns 4.33 0.06 -
MemoryPackDeserializeSimpleClasses 58,178.0264 ns 463.0417 ns 533.2395 ns 1.27 0.02 -
NinoDeserializeSimpleClasses 45,660.4323 ns 479.5958 ns 552.3033 ns 1.00 0.02 -
MessagePackSerializeSimpleClasses 100,468.5973 ns 246.8387 ns 264.1146 ns 4.30 0.02 68.36KB
MemoryPackSerializeSimpleClasses 48,341.6069 ns 210.4435 ns 242.3470 ns 2.07 0.01 73.73KB
NinoSerializeSimpleClasses 23,388.0767 ns 110.7863 ns 123.1387 ns 1.00 0.01 75KB
MessagePackDeserializeSimpleStruct 77.3390 ns 0.0786 ns 0.0807 ns 134.81 2.76 -
MemoryPackDeserializeSimpleStruct 1.9995 ns 0.0034 ns 0.0033 ns 3.49 0.07 -
NinoDeserializeSimpleStruct 0.5739 ns 0.0109 ns 0.0121 ns 1.00 0.03 -
MessagePackSerializeSimpleStruct 79.4188 ns 0.2751 ns 0.3168 ns 12.19 0.08 16B
MemoryPackSerializeSimpleStruct 5.0475 ns 0.0190 ns 0.0212 ns 0.77 0.01 16B
NinoSerializeSimpleStruct 6.5168 ns 0.0305 ns 0.0351 ns 1.00 0.01 16B
MessagePackDeserializeSimpleStructs 4,329.2026 ns 20.2704 ns 22.5305 ns 50.44 0.62 -
MemoryPackDeserializeSimpleStructs 111.0956 ns 0.8637 ns 0.9600 ns 1.29 0.02 -
NinoDeserializeSimpleStructs 85.8411 ns 0.8839 ns 0.9825 ns 1.00 0.02 -
MessagePackSerializeSimpleStructs 4,027.2295 ns 26.0048 ns 29.9472 ns 149.77 1.32 1.57KB
MemoryPackSerializeSimpleStructs 30.6942 ns 0.1400 ns 0.1612 ns 1.14 0.01 1.57KB
NinoSerializeSimpleStructs 26.8893 ns 0.1207 ns 0.1390 ns 1.00 0.01 1.57KB
MessagePackDeserializeVectors 264,571.9284 ns 1,859.6471 ns 2,141.5723 ns 16.95 0.59 -
MemoryPackDeserializeVectors 15,652.0162 ns 423.8198 ns 435.2318 ns 1.00 0.04 -
NinoDeserializeVectors 15,626.1037 ns 478.2631 ns 550.7685 ns 1.00 0.05 -
MessagePackSerializeVectors 220,502.0793 ns 180.7372 ns 177.5081 ns 58.85 1.06 205.08KB
MemoryPackSerializeVectors 4,122.2957 ns 132.2212 ns 152.2661 ns 1.10 0.04 156.25KB
NinoSerializeVectors 3,748.3052 ns 75.1178 ns 73.7757 ns 1.00 0.03 156.25KB

v3.2.3

25 Feb 06:25
Compare
Choose a tag to compare
  • [feat] support 'NinoFormerName' for generic types

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-DJVUEN : .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.7790 ns 22.9000 ns 26.3717 ns 4.76 0.08 -
MemoryPackDeserializeSimpleClass 588.8172 ns 4.7435 ns 5.0755 ns 1.40 0.02 -
NinoDeserializeSimpleClass 419.3163 ns 3.7240 ns 4.1392 ns 1.00 0.01 -
MessagePackSerializeSimpleClass 1,069.1856 ns 7.3085 ns 8.4164 ns 4.58 0.04 700B
MemoryPackSerializeSimpleClass 505.8187 ns 3.2135 ns 3.7007 ns 2.17 0.02 755B
NinoSerializeSimpleClass 233.2655 ns 0.9048 ns 1.0419 ns 1.00 0.01 764B
MessagePackDeserializeSimpleClasses 199,360.3167 ns 2,505.4145 ns 2,885.2390 ns 4.43 0.09 -
MemoryPackDeserializeSimpleClasses 58,677.7572 ns 533.1919 ns 614.0246 ns 1.30 0.02 -
NinoDeserializeSimpleClasses 44,980.8429 ns 617.8393 ns 711.5047 ns 1.00 0.02 -
MessagePackSerializeSimpleClasses 101,577.7412 ns 842.4062 ns 970.1163 ns 4.08 0.04 68.36KB
MemoryPackSerializeSimpleClasses 50,480.1358 ns 575.0250 ns 662.1996 ns 2.03 0.03 73.73KB
NinoSerializeSimpleClasses 24,873.8195 ns 90.1320 ns 100.1814 ns 1.00 0.01 75KB
MessagePackDeserializeSimpleStruct 78.7393 ns 0.2466 ns 0.2741 ns 134.80 3.84 -
MemoryPackDeserializeSimpleStruct 2.1311 ns 0.0313 ns 0.0322 ns 3.65 0.12 -
NinoDeserializeSimpleStruct 0.5846 ns 0.0161 ns 0.0172 ns 1.00 0.04 -
MessagePackSerializeSimpleStruct 81.6055 ns 0.8091 ns 0.9318 ns 12.73 0.16 16B
MemoryPackSerializeSimpleStruct 5.0084 ns 0.0200 ns 0.0214 ns 0.78 0.01 16B
NinoSerializeSimpleStruct 6.4121 ns 0.0319 ns 0.0355 ns 1.00 0.01 16B
MessagePackDeserializeSimpleStructs 4,139.3526 ns 21.3154 ns 24.5469 ns 52.82 0.47 -
MemoryPackDeserializeSimpleStructs 103.5239 ns 0.3926 ns 0.3855 ns 1.32 0.01 -
NinoDeserializeSimpleStructs 78.3774 ns 0.4876 ns 0.5420 ns 1.00 0.01 -
MessagePackSerializeSimpleStructs 3,871.1880 ns 40.0389 ns 44.5032 ns 143.67 1.83 1.57KB
MemoryPackSerializeSimpleStructs 32.0509 ns 0.2728 ns 0.3141 ns 1.19 0.01 1.57KB
NinoSerializeSimpleStructs 26.9462 ns 0.1658 ns 0.1703 ns 1.00 0.01 1.57KB
MessagePackDeserializeVectors 267,741.0106 ns 1,712.2761 ns 1,971.8597 ns 17.38 0.61 -
MemoryPackDeserializeVectors 15,715.5631 ns 289.5851 ns 333.4866 ns 1.02 0.04 -
NinoDeserializeVectors 15,421.0168 ns 486.3022 ns 540.5236 ns 1.00 0.05 -
MessagePackSerializeVectors 226,080.9329 ns 387.6205 ns 446.3843 ns 48.07 1.88 205.08KB
MemoryPackSerializeVectors 3,708.6369 ns 4.0880 ns 4.3741 ns 0.79 0.03 156.25KB
NinoSerializeVectors 4,709.1416 ns 145.6544 ns 167.7358 ns 1.00 0.05 156.25KB