Skip to content

v4.0.0-beta.42

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 14 Nov 06:02
· 21 commits to main since this release

What's Changed

✨ Features

📦 analyzer

📦 ci

📦 core

📦 deserializer

📦 formatter

📦 generator

📦 serialization

📦 tests

📦 workflow

🐛 Bug Fixes

🔧 General

📦 cache

📦 ci

📦 generator

📦 serialization

📦 tests

📦 workflow

⚡ Performance

🔧 General

📦 benchmark

📦 cache

📦 collections

📦 core

📦 deserializer

📦 generator

📦 serialization

📦 serializer

🔧 Improvements

🔧 General

  • remove SerializePolymorphic code generation and use dictionary directly [e4edde9] by @claude[bot]

📦 core

📦 generator

📦 serializer

📚 Documentation

🔧 General

📦 generator

🧪 Testing

📦 analyzer

📦 deserializer

📦 serialization

🏗️ Maintenance

🔧 General

📦 ci

📦 generator

📦 repo

🔀 Other Changes

📦 other

👥 Contributors

Full Changelog: https://github.com/JasonXuDeveloper/Nino/compare/v4.0.0-beta.8..v4.0.0-beta.42

⚠️ Pre-release - Use with caution in production

Installation

NuGet:

dotnet add package Nino --version 4.0.0-beta.42

Unity: Preview version available via UPM

📊 Performance Report

Click to expand benchmark results

BenchmarkDotNet v0.15.2, Linux Ubuntu 24.04.3 LTS (Noble Numbat)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 9.0.307
  [Host]            : .NET 8.0.22 (8.0.2225.52707), X64 RyuJIT AVX2
  ShortRun-.NET 9.0 : .NET 9.0.11 (9.0.1125.51716), X64 RyuJIT AVX2

Job=ShortRun-.NET 9.0  Runtime=.NET 9.0  Server=True  
IterationCount=3  LaunchCount=1  WarmupCount=3  

Type Method Mean Min Max Ratio Payload Gen0 Gen1 Gen2 Allocated Alloc Ratio
PolymorphicTest NinoDeserializePolymorphicClassArray 324,255.0951 ns 320,539.8101 ns 326,653.8755 ns 1.00 - 32.2266 14.6484 - 745624 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicClassArray 333,391.1808 ns 328,676.3716 ns 337,049.0688 ns 1.03 - 31.7383 14.1602 - 745624 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicClassArray 1,822,773.5117 ns 1,811,666.5371 ns 1,835,824.0332 ns 5.62 - 46.8750 21.4844 - 1162424 B 1.56
PolymorphicTest NinoSerializePolymorphicClassArray 216,986.1669 ns 214,655.0610 ns 219,413.8027 ns 1.00 388.29KB - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicClassArray 334,644.2093 ns 321,720.8589 ns 343,617.7690 ns 1.54 375.39KB - - - - NA
PolymorphicTest MessagePackSerializePolymorphicClassArray 1,139,818.6048 ns 1,131,992.4023 ns 1,143,758.8672 ns 5.25 500.3KB - - - - NA
PolymorphicTest NinoDeserializePolymorphicClass 26,744.3949 ns 26,558.6651 ns 27,034.7538 ns 1.00 - 7.3547 1.1597 - 79688 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicClass 29,341.8942 ns 29,221.0360 ns 29,570.4398 ns 1.10 - 7.4158 1.1597 - 79688 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicClass 240,792.6613 ns 240,320.4122 ns 241,099.6158 ns 9.00 - 7.8125 1.2207 - 83856 B 1.05
PolymorphicTest NinoSerializePolymorphicClass 27,199.7598 ns 26,337.9766 ns 27,845.3967 ns 1.00 52.53KB - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicClass 35,246.6224 ns 35,034.4628 ns 35,425.4297 ns 1.30 50.55KB - - - - NA
PolymorphicTest MessagePackSerializePolymorphicClass 157,210.5134 ns 156,411.0479 ns 158,132.8196 ns 5.78 69.25KB - - - - NA
PolymorphicTest NinoDeserializePolymorphicFooArray 23,694.0916 ns 22,874.9584 ns 24,891.6397 ns 1.00 - 7.0801 1.0986 - 76024 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicFooArray 30,153.3914 ns 29,831.0413 ns 30,617.6515 ns 1.27 - 7.0801 1.0071 - 76024 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicFooArray 229,787.9542 ns 228,929.3130 ns 230,232.7095 ns 9.71 - 9.0332 1.4648 0.2441 - 0.00
PolymorphicTest NinoSerializePolymorphicFooArray 21,751.4727 ns 21,709.3920 ns 21,812.5009 ns 1.00 51.18KB - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicFooArray 33,528.4853 ns 32,786.5524 ns 34,064.3582 ns 1.54 49.22KB - - - - NA
PolymorphicTest MessagePackSerializePolymorphicFooArray 170,518.5911 ns 169,148.4678 ns 171,633.3765 ns 7.84 67.58KB - - - - NA
SimpleTest NinoDeserializeSimpleClass 504.0295 ns 501.9824 ns 505.3369 ns 1.00 - 0.2193 - - 2528 B 1.00
SimpleTest MemoryPackDeserializeSimpleClass 685.2900 ns 678.9810 ns 694.2375 ns 1.36 - 0.2460 - - 2528 B 1.00
SimpleTest MessagePackDeserializeSimpleClass 1,851.5269 ns 1,847.4291 ns 1,856.3529 ns 3.67 - 0.3319 0.0019 - 2528 B 1.00
SimpleTest NinoSerializeSimpleClass 235.9341 ns 235.7158 ns 236.1391 ns 1.00 1.13KB - - - - NA
SimpleTest MemoryPackSerializeSimpleClass 521.7485 ns 521.7075 ns 521.7733 ns 2.21 1.12KB - - - - NA
SimpleTest MessagePackSerializeSimpleClass 1,261.4433 ns 1,259.5189 ns 1,262.5731 ns 5.35 1.09KB - - - - NA
SimpleTest NinoDeserializeSimpleClasses 53,709.1655 ns 53,456.6533 ns 54,019.2248 ns 1.00 - 18.0664 5.8594 - 253624 B 1.00
SimpleTest MemoryPackDeserializeSimpleClasses 67,754.2897 ns 67,439.4045 ns 68,267.7661 ns 1.26 - 17.5781 5.7373 - 253624 B 1.00
SimpleTest MessagePackDeserializeSimpleClasses 200,704.9506 ns 200,414.3837 ns 201,195.2892 ns 3.74 - 18.7988 5.6152 - 253624 B 1.00
SimpleTest NinoSerializeSimpleClasses 25,015.4481 ns 25,005.2489 ns 25,021.2777 ns 1.00 112.5KB - - - - NA
SimpleTest MemoryPackSerializeSimpleClasses 50,704.7325 ns 50,589.1145 ns 50,898.0836 ns 2.03 112.11KB - - - - NA
SimpleTest MessagePackSerializeSimpleClasses 121,370.7266 ns 119,845.0058 ns 122,224.7205 ns 4.85 108.6KB - - - - NA
SimpleTest NinoDeserializeSimpleStruct 0.3184 ns 0.3138 ns 0.3208 ns 1.00 - - - - - NA
SimpleTest MemoryPackDeserializeSimpleStruct 1.9106 ns 1.8720 ns 1.9875 ns 6.00 - - - - - NA
SimpleTest MessagePackDeserializeSimpleStruct 69.8680 ns 69.7829 ns 69.9417 ns 219.48 - - - - - NA
SimpleTest NinoSerializeSimpleStruct 6.7895 ns 6.7810 ns 6.8040 ns 1.00 16B - - - - NA
SimpleTest MemoryPackSerializeSimpleStruct 6.0402 ns 6.0366 ns 6.0449 ns 0.89 16B - - - - NA
SimpleTest MessagePackSerializeSimpleStruct 95.5060 ns 95.1163 ns 95.9474 ns 14.07 16B - - - - NA
SimpleTest NinoDeserializeSimpleStructs 103.6599 ns 103.1176 ns 104.4995 ns 1.00 - 0.1624 - - 1624 B 1.00
SimpleTest MemoryPackDeserializeSimpleStructs 129.5011 ns 128.8074 ns 130.0114 ns 1.25 - 0.1624 - - 1624 B 1.00
SimpleTest MessagePackDeserializeSimpleStructs 3,910.6675 ns 3,876.7418 ns 3,938.0338 ns 37.73 - 0.1602 - - 1624 B 1.00
SimpleTest NinoSerializeSimpleStructs 30.4520 ns 30.4494 ns 30.4560 ns 1.00 1.57KB - - - - NA
SimpleTest MemoryPackSerializeSimpleStructs 57.3604 ns 57.2307 ns 57.5021 ns 1.88 1.57KB - - - - NA
SimpleTest MessagePackSerializeSimpleStructs 4,088.0037 ns 4,084.3922 ns 4,092.6806 ns 134.24 1.57KB - - - - NA
SimpleTest NinoDeserializeVectors 127,826.8770 ns 126,010.0359 ns 129,742.8513 ns 1.00 - 16.3574 16.3574 16.3574 160032 B 1.00
SimpleTest MemoryPackDeserializeVectors 126,578.4107 ns 122,644.3642 ns 128,868.9127 ns 0.99 - 16.7236 16.7236 16.7236 160033 B 1.00
SimpleTest MessagePackDeserializeVectors 362,732.8866 ns 354,271.4888 ns 370,796.4995 ns 2.84 - 17.5781 17.5781 17.5781 160034 B 1.00
SimpleTest NinoSerializeVectors 3,635.2366 ns 3,633.6001 ns 3,636.4179 ns 1.00 156.25KB - - - - NA
SimpleTest MemoryPackSerializeVectors 3,776.4853 ns 3,772.1103 ns 3,781.1248 ns 1.04 156.25KB - - - - NA
SimpleTest MessagePackSerializeVectors 298,911.9220 ns 298,883.7622 ns 298,929.3604 ns 82.23 205.08KB - - - - NA

Benchmark generated automatically on 2025-11-14 06:10:25 UTC