Skip to content

v4.0.0-beta.43

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Nov 05:56
· 18 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.43

⚠️ Pre-release - Use with caution in production

Installation

NuGet:

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

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 10.0.100
  [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 326,438.2091 ns 321,661.3003 ns 330,730.7842 ns 1.00 - 32.2266 14.6484 - 745624 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicClassArray 335,292.2798 ns 333,468.4761 ns 336,689.4141 ns 1.03 - 32.7148 14.6484 - 745624 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicClassArray 1,768,089.2904 ns 1,763,501.5059 ns 1,776,403.6914 ns 5.42 - 46.8750 23.4375 - 1162424 B 1.56
PolymorphicTest NinoSerializePolymorphicClassArray 213,896.3162 ns 213,670.1533 ns 214,222.9399 ns 1.00 388.29KB - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicClassArray 326,950.4069 ns 322,994.9282 ns 331,287.0698 ns 1.53 375.39KB - - - - NA
PolymorphicTest MessagePackSerializePolymorphicClassArray 1,097,170.5462 ns 1,089,947.6191 ns 1,104,258.5020 ns 5.13 500.3KB - - - - NA
PolymorphicTest NinoDeserializePolymorphicClass 27,054.1465 ns 26,635.0186 ns 27,406.1405 ns 1.00 - 7.4158 1.0986 - 79688 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicClass 30,297.6769 ns 30,002.5943 ns 30,636.5293 ns 1.12 - 7.3547 1.1292 - 79688 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicClass 240,737.4112 ns 240,322.7822 ns 241,052.3923 ns 8.90 - 7.5684 1.4648 - 83856 B 1.05
PolymorphicTest NinoSerializePolymorphicClass 24,786.3431 ns 24,779.4526 ns 24,790.0025 ns 1.00 52.53KB - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicClass 35,598.1428 ns 35,067.6203 ns 35,886.8387 ns 1.44 50.55KB - - - - NA
PolymorphicTest MessagePackSerializePolymorphicClass 155,857.1851 ns 155,536.6558 ns 156,295.1880 ns 6.29 69.25KB - - - - NA
PolymorphicTest NinoDeserializePolymorphicFooArray 22,151.6014 ns 22,110.0228 ns 22,220.9321 ns 1.00 - 6.5002 1.0071 - 76024 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicFooArray 31,086.3794 ns 30,871.5198 ns 31,412.2589 ns 1.40 - 7.0801 1.1597 - 76024 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicFooArray 235,794.0018 ns 234,519.8926 ns 236,526.8115 ns 10.64 - 7.0801 0.9766 - 76024 B 1.00
PolymorphicTest NinoSerializePolymorphicFooArray 23,375.0428 ns 23,222.2111 ns 23,677.0779 ns 1.00 51.18KB - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicFooArray 32,927.6523 ns 32,767.7846 ns 33,177.4712 ns 1.41 49.22KB - - - - NA
PolymorphicTest MessagePackSerializePolymorphicFooArray 159,928.3413 ns 159,611.8049 ns 160,428.7134 ns 6.84 67.58KB - - - - NA
SimpleTest NinoDeserializeSimpleClass 515.3636 ns 506.1390 ns 531.7175 ns 1.00 - 0.2174 - - 2528 B 1.00
SimpleTest MemoryPackDeserializeSimpleClass 786.6746 ns 780.8034 ns 792.9132 ns 1.53 - 0.2403 - - 2528 B 1.00
SimpleTest MessagePackDeserializeSimpleClass 1,988.3297 ns 1,978.5404 ns 1,995.9165 ns 3.86 - 0.3281 - - 2528 B 1.00
SimpleTest NinoSerializeSimpleClass 228.7641 ns 228.4525 ns 229.2078 ns 1.00 1.13KB - - - - NA
SimpleTest MemoryPackSerializeSimpleClass 516.4426 ns 516.1892 ns 516.6278 ns 2.26 1.12KB - - - - NA
SimpleTest MessagePackSerializeSimpleClass 1,203.2171 ns 1,202.6531 ns 1,204.2884 ns 5.26 1.09KB - - - - NA
SimpleTest NinoDeserializeSimpleClasses 59,702.5154 ns 59,306.1505 ns 60,432.5757 ns 1.00 - 17.8833 5.8594 - 253624 B 1.00
SimpleTest MemoryPackDeserializeSimpleClasses 78,545.5268 ns 77,226.8845 ns 80,539.6852 ns 1.32 - 17.7002 5.6152 - 253624 B 1.00
SimpleTest MessagePackDeserializeSimpleClasses 207,476.0469 ns 206,775.4819 ns 208,010.9683 ns 3.48 - 18.0664 5.3711 - 253624 B 1.00
SimpleTest NinoSerializeSimpleClasses 24,327.4449 ns 24,258.4648 ns 24,427.6609 ns 1.00 112.5KB - - - - NA
SimpleTest MemoryPackSerializeSimpleClasses 50,919.4765 ns 50,510.2184 ns 51,168.2792 ns 2.09 112.11KB - - - - NA
SimpleTest MessagePackSerializeSimpleClasses 117,746.3657 ns 117,454.7781 ns 118,289.6771 ns 4.84 108.59KB - - - - NA
SimpleTest NinoDeserializeSimpleStruct 0.3197 ns 0.3166 ns 0.3213 ns 1.00 - - - - - NA
SimpleTest MemoryPackDeserializeSimpleStruct 1.7776 ns 1.7767 ns 1.7786 ns 5.56 - - - - - NA
SimpleTest MessagePackDeserializeSimpleStruct 66.6404 ns 66.6215 ns 66.6678 ns 208.44 - - - - - NA
SimpleTest NinoSerializeSimpleStruct 6.7627 ns 6.7525 ns 6.7688 ns 1.00 16B - - - - NA
SimpleTest MemoryPackSerializeSimpleStruct 5.9818 ns 5.9589 ns 6.0168 ns 0.88 16B - - - - NA
SimpleTest MessagePackSerializeSimpleStruct 82.0498 ns 82.0149 ns 82.0840 ns 12.13 16B - - - - NA
SimpleTest NinoDeserializeSimpleStructs 109.0666 ns 107.7028 ns 111.6472 ns 1.00 - 0.1624 - - 1624 B 1.00
SimpleTest MemoryPackDeserializeSimpleStructs 131.9165 ns 130.4727 ns 134.2142 ns 1.21 - 0.1624 - - 1624 B 1.00
SimpleTest MessagePackDeserializeSimpleStructs 3,876.8517 ns 3,869.9338 ns 3,881.7499 ns 35.56 - 0.1755 0.0076 0.0076 - 0.00
SimpleTest NinoSerializeSimpleStructs 30.3829 ns 30.3764 ns 30.3947 ns 1.00 1.57KB - - - - NA
SimpleTest MemoryPackSerializeSimpleStructs 33.7639 ns 33.7581 ns 33.7718 ns 1.11 1.57KB - - - - NA
SimpleTest MessagePackSerializeSimpleStructs 4,270.2839 ns 4,268.7239 ns 4,271.1104 ns 140.55 1.57KB - - - - NA
SimpleTest NinoDeserializeVectors 134,049.1335 ns 132,778.9194 ns 135,672.6626 ns 1.00 - 15.3809 15.3809 15.3809 160030 B 1.00
SimpleTest MemoryPackDeserializeVectors 130,083.9694 ns 128,937.7412 ns 130,790.9360 ns 0.97 - 17.5781 17.5781 17.5781 160034 B 1.00
SimpleTest MessagePackDeserializeVectors 362,775.4495 ns 358,121.0718 ns 368,321.2207 ns 2.71 - 18.0664 18.0664 18.0664 160036 B 1.00
SimpleTest NinoSerializeVectors 3,662.6530 ns 3,660.7492 ns 3,664.1139 ns 1.00 156.25KB - - - - NA
SimpleTest MemoryPackSerializeVectors 3,640.8255 ns 3,622.5082 ns 3,668.7751 ns 0.99 156.25KB - - - - NA
SimpleTest MessagePackSerializeVectors 306,727.3359 ns 306,447.4565 ns 307,277.4868 ns 83.74 205.08KB - - - - NA

Benchmark generated automatically on 2025-11-19 06:04:18 UTC