Skip to content

v4.0.0-rc.1

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Oct 09:21
· 1241 commits to main since this release

Install: dotnet add package Nino --version 4.0.0-rc.1 (Unity package: 4.0.0-preview.201)

What's Changed

New Contributors

Full Changelog: v4.0.0-beta.47...v4.0.0-rc.1

📊 v3 3.3.13 vs v4 (same machine)

Nino v3 3.3.13 (NuGet) against v4.0.0-rc.1, back to back on the same runner

benchmarks/v3 (the same SimpleTest, built against Nino 3.3.13 from nuget.org) ran before and after the v4
run below, in the same job on the same runner, with the same BenchmarkDotNet settings
(--launchCount 1 --warmupCount 5 --iterationCount 15). MemoryPack runs in both, so its two columns show how much the runner moved.

v4 vs v3 (v3 run before v4)

case v3 3.3.13 v4 v4 vs v3 MemoryPack (v4 run) MemoryPack (v3 run)
SerializeFixedClass - 8.59 ns - 15.72 ns -
SerializeFixedClasses - 581.99 ns - 1.24 μs -
SerializeFixedStruct - 8.31 ns - 7.70 ns -
SerializeGraph - 3.91 μs - 19.73 μs -
SerializePolymorphicClassArray - 52.41 μs - 195.42 μs -
SerializePolymorphicClass - 5.36 μs - 18.42 μs -
SerializePolymorphicFooArray - 5.28 μs - 19.30 μs -
SerializeSimpleClass 112.51 ns 74.90 ns 0.67x 255.62 ns 255.01 ns
SerializeSimpleClasses 16.72 μs 8.54 μs 0.51x 26.77 μs 26.58 μs
SerializeSimpleStruct 1.21 ns 1.13 ns 0.93x 2.39 ns 2.41 ns
SerializeSimpleStructs 11.64 ns 13.95 ns 1.20x 15.92 ns 17.75 ns
SerializeTolerantClass - 73.53 ns - 319.19 ns -
SerializeTolerantClasses - 8.08 μs - 32.55 μs -
SerializeVectors 3.36 μs 3.35 μs 1.00x 3.36 μs 3.37 μs
DeserializeFixedClass - 7.61 ns - 17.67 ns -
DeserializeFixedClasses - 901.37 ns - 954.27 ns -
DeserializeFixedStruct - 0.33 ns - 0.45 ns -
DeserializeGraph - 4.37 μs - 14.33 μs -
LeavesNew - 2.84 μs - 2.80 μs -
LeavesPooledElements - 2.00 μs - - -
LeavesInPlace - 404.04 ns - - -
NodeNew - 456.01 ns - 468.28 ns -
NodePooled - 159.17 ns - - -
PlainNew - 2.20 μs - 2.76 μs -
DeserializePolymorphicClassArray - 216.65 μs - 295.36 μs -
DeserializePolymorphicClass - 15.13 μs - 21.71 μs -
DeserializePolymorphicFooArray - 14.00 μs - 20.73 μs -
DeserializeNew - 375.36 ns - 490.57 ns -
DeserializePooled - 189.82 ns - - -
DeserializeSimpleClass 401.52 ns 380.76 ns 0.95x 513.58 ns 495.49 ns
DeserializeSimpleClasses 43.81 μs 39.64 μs 0.90x 49.53 μs 49.34 μs
DeserializeSimpleStruct 0.34 ns 0.33 ns 0.97x 0.33 ns 0.29 ns
DeserializeSimpleStructs 76.94 ns 74.39 ns 0.97x 85.41 ns 85.71 ns
DeserializeTolerantClass - 377.48 ns - 552.40 ns -
DeserializeTolerantClasses - 39.97 μs - 55.10 μs -
DeserializeVectors 89.09 μs 90.55 μs 1.02x 89.59 μs 89.15 μs

v4 vs v3 = mean(v4) / mean(v3); below 1.00x means v4 is faster.
MemoryPack drift (v4 run / v3 run): min 0.90x, max 1.13x (same code in both runs; the spread is the noise floor of this comparison).

v4 vs v3 (v3 run after v4)

case v3 3.3.13 v4 v4 vs v3 MemoryPack (v4 run) MemoryPack (v3 run)
SerializeFixedClass - 8.59 ns - 15.72 ns -
SerializeFixedClasses - 581.99 ns - 1.24 μs -
SerializeFixedStruct - 8.31 ns - 7.70 ns -
SerializeGraph - 3.91 μs - 19.73 μs -
SerializePolymorphicClassArray - 52.41 μs - 195.42 μs -
SerializePolymorphicClass - 5.36 μs - 18.42 μs -
SerializePolymorphicFooArray - 5.28 μs - 19.30 μs -
SerializeSimpleClass 112.33 ns 74.90 ns 0.67x 255.62 ns 249.27 ns
SerializeSimpleClasses 16.93 μs 8.54 μs 0.50x 26.77 μs 26.58 μs
SerializeSimpleStruct 1.29 ns 1.13 ns 0.88x 2.39 ns 2.42 ns
SerializeSimpleStructs 11.75 ns 13.95 ns 1.19x 15.92 ns 14.28 ns
SerializeTolerantClass - 73.53 ns - 319.19 ns -
SerializeTolerantClasses - 8.08 μs - 32.55 μs -
SerializeVectors 3.36 μs 3.35 μs 1.00x 3.36 μs 3.35 μs
DeserializeFixedClass - 7.61 ns - 17.67 ns -
DeserializeFixedClasses - 901.37 ns - 954.27 ns -
DeserializeFixedStruct - 0.33 ns - 0.45 ns -
DeserializeGraph - 4.37 μs - 14.33 μs -
LeavesNew - 2.84 μs - 2.80 μs -
LeavesPooledElements - 2.00 μs - - -
LeavesInPlace - 404.04 ns - - -
NodeNew - 456.01 ns - 468.28 ns -
NodePooled - 159.17 ns - - -
PlainNew - 2.20 μs - 2.76 μs -
DeserializePolymorphicClassArray - 216.65 μs - 295.36 μs -
DeserializePolymorphicClass - 15.13 μs - 21.71 μs -
DeserializePolymorphicFooArray - 14.00 μs - 20.73 μs -
DeserializeNew - 375.36 ns - 490.57 ns -
DeserializePooled - 189.82 ns - - -
DeserializeSimpleClass 406.49 ns 380.76 ns 0.94x 513.58 ns 492.41 ns
DeserializeSimpleClasses 42.61 μs 39.64 μs 0.93x 49.53 μs 49.33 μs
DeserializeSimpleStruct 0.34 ns 0.33 ns 0.99x 0.33 ns 0.33 ns
DeserializeSimpleStructs 76.94 ns 74.39 ns 0.97x 85.41 ns 85.99 ns
DeserializeTolerantClass - 377.48 ns - 552.40 ns -
DeserializeTolerantClasses - 39.97 μs - 55.10 μs -
DeserializeVectors 90.23 μs 90.55 μs 1.00x 89.59 μs 87.24 μs

v4 vs v3 = mean(v4) / mean(v3); below 1.00x means v4 is faster.
MemoryPack drift (v4 run / v3 run): min 0.99x, max 1.11x (same code in both runs; the spread is the noise floor of this comparison).

v3 3.3.13 report (run before v4)


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.402
  [Host]             : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v4
  ShortRun-.NET 10.0 : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v4

Job=ShortRun-.NET 10.0  Runtime=.NET 10.0  Server=True  
IterationCount=15  LaunchCount=1  WarmupCount=5  

Method Mean Min Max Ratio Payload Gen0 Gen1 Gen2 Allocated Alloc Ratio
NinoDeserializeSimpleClass 401.5247 ns 398.5115 ns 405.1599 ns 1.00 - 0.2308 - - 2552 B 1.00
MemoryPackDeserializeSimpleClass 495.4890 ns 492.1147 ns 499.6695 ns 1.23 - 0.2413 - - 2528 B 0.99
MessagePackDeserializeSimpleClass 1,361.0652 ns 1,334.9666 ns 1,376.1391 ns 3.39 - 0.4940 0.0038 - 2528 B 0.99
NinoSerializeSimpleClass 112.5101 ns 112.2143 ns 112.7128 ns 1.00 1.13KB - - - - NA
MemoryPackSerializeSimpleClass 255.0119 ns 253.6374 ns 257.2797 ns 2.27 1.12KB - - - - NA
MessagePackSerializeSimpleClass 626.3481 ns 624.0476 ns 629.8347 ns 5.57 1.09KB - - - - NA
NinoDeserializeSimpleClasses 43,806.8036 ns 43,354.3807 ns 44,375.5377 ns 1.00 - 18.7988 5.7373 - 262424 B 1.00
MemoryPackDeserializeSimpleClasses 49,343.6637 ns 48,892.2917 ns 50,173.2157 ns 1.13 - 18.0664 5.4932 - 253624 B 0.97
MessagePackDeserializeSimpleClasses 145,442.8283 ns 143,787.1105 ns 148,797.1671 ns 3.32 - 18.3105 5.1270 - 253624 B 0.97
NinoSerializeSimpleClasses 16,718.5909 ns 16,618.2149 ns 16,865.5096 ns 1.00 112.5KB - - - - NA
MemoryPackSerializeSimpleClasses 26,584.4494 ns 26,534.2670 ns 26,684.4716 ns 1.59 112.11KB - - - - NA
MessagePackSerializeSimpleClasses 65,307.1761 ns 65,208.9781 ns 65,485.4308 ns 3.91 108.6KB - - - - NA
NinoDeserializeSimpleStruct 0.3434 ns 0.3410 ns 0.3527 ns 1.00 - - - - - NA
MemoryPackDeserializeSimpleStruct 0.2935 ns 0.2841 ns 0.3051 ns 0.85 - - - - - NA
MessagePackDeserializeSimpleStruct 50.0961 ns 50.0085 ns 50.3536 ns 145.88 - - - - - NA
NinoSerializeSimpleStruct 1.2147 ns 1.2053 ns 1.2311 ns 1.00 12B - - - - NA
MemoryPackSerializeSimpleStruct 2.4084 ns 2.4027 ns 2.4167 ns 1.98 12B - - - - NA
MessagePackSerializeSimpleStruct 34.6104 ns 34.4419 ns 34.8123 ns 28.49 16B - - - - NA
NinoDeserializeSimpleStructs 76.9449 ns 76.0638 ns 77.8063 ns 1.00 - 0.1214 - - 1224 B 1.00
MemoryPackDeserializeSimpleStructs 85.7092 ns 83.9495 ns 88.1269 ns 1.11 - 0.1214 - - 1224 B 1.00
MessagePackDeserializeSimpleStructs 2,459.8933 ns 2,439.1549 ns 2,495.2140 ns 31.97 - 0.1793 0.0038 0.0038 - 0.00
NinoSerializeSimpleStructs 11.6433 ns 11.6162 ns 11.6980 ns 1.00 1.18KB - - - - NA
MemoryPackSerializeSimpleStructs 17.7529 ns 17.7349 ns 17.7719 ns 1.52 1.18KB - - - - NA
MessagePackSerializeSimpleStructs 2,295.3860 ns 2,290.3193 ns 2,304.7737 ns 197.14 1.57KB - - - - NA
NinoDeserializeVectors 89,088.7381 ns 77,964.6777 ns 95,771.5139 ns 1.00 - 15.1367 15.1367 15.1367 160025 B 1.00
MemoryPackDeserializeVectors 89,152.3167 ns 80,206.7575 ns 95,085.8226 ns 1.00 - 15.5029 15.5029 15.5029 160025 B 1.00
MessagePackDeserializeVectors 267,122.8388 ns 257,949.5430 ns 285,311.6113 ns 3.01 - 18.5547 18.5547 18.5547 - 0.00
NinoSerializeVectors 3,361.2001 ns 3,351.2868 ns 3,372.9757 ns 1.00 156.25KB - - - - NA
MemoryPackSerializeVectors 3,367.4243 ns 3,353.2953 ns 3,399.5452 ns 1.00 156.25KB - - - - NA
MessagePackSerializeVectors 100,873.0675 ns 100,148.7755 ns 103,099.8116 ns 30.01 205.08KB - - - - NA

v3 3.3.13 report (run after v4)


BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.402
  [Host]             : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v4
  ShortRun-.NET 10.0 : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v4

Job=ShortRun-.NET 10.0  Runtime=.NET 10.0  Server=True  
IterationCount=15  LaunchCount=1  WarmupCount=5  

Method Mean Min Max Ratio Payload Gen0 Gen1 Gen2 Allocated Alloc Ratio
NinoDeserializeSimpleClass 406.4946 ns 403.7781 ns 417.3349 ns 1.00 - 0.2260 0.0005 - 2552 B 1.00
MemoryPackDeserializeSimpleClass 492.4116 ns 490.2822 ns 495.9748 ns 1.21 - 0.2422 - - 2528 B 0.99
MessagePackDeserializeSimpleClass 1,316.6970 ns 1,285.0187 ns 1,353.6483 ns 3.24 - 0.3662 0.0076 0.0057 - 0.00
NinoSerializeSimpleClass 112.3279 ns 112.2044 ns 112.4602 ns 1.00 1.13KB - - - - NA
MemoryPackSerializeSimpleClass 249.2725 ns 248.3505 ns 250.3977 ns 2.22 1.12KB - - - - NA
MessagePackSerializeSimpleClass 619.9171 ns 618.6877 ns 621.9991 ns 5.52 1.09KB - - - - NA
NinoDeserializeSimpleClasses 42,611.5260 ns 42,298.2708 ns 42,884.4865 ns 1.00 - 18.8599 5.7373 - 262424 B 1.00
MemoryPackDeserializeSimpleClasses 49,334.0550 ns 48,783.7455 ns 50,074.8087 ns 1.16 - 17.8833 5.3101 - 253624 B 0.97
MessagePackDeserializeSimpleClasses 146,577.3963 ns 145,711.5732 ns 147,690.8123 ns 3.44 - 18.3105 5.1270 - 253624 B 0.97
NinoSerializeSimpleClasses 16,929.7747 ns 16,798.0477 ns 17,044.9799 ns 1.00 112.5KB - - - - NA
MemoryPackSerializeSimpleClasses 26,578.7998 ns 26,495.8434 ns 26,731.5272 ns 1.57 112.11KB - - - - NA
MessagePackSerializeSimpleClasses 63,637.5052 ns 63,379.5989 ns 64,279.0181 ns 3.76 108.6KB - - - - NA
NinoDeserializeSimpleStruct 0.3350 ns 0.3233 ns 0.3680 ns 1.00 - - - - - NA
MemoryPackDeserializeSimpleStruct 0.3271 ns 0.2971 ns 0.4261 ns 0.98 - - - - - NA
MessagePackDeserializeSimpleStruct 51.2238 ns 50.6868 ns 52.6929 ns 153.20 - - - - - NA
NinoSerializeSimpleStruct 1.2867 ns 1.2517 ns 1.3590 ns 1.00 12B - - - - NA
MemoryPackSerializeSimpleStruct 2.4214 ns 2.4056 ns 2.4689 ns 1.88 12B - - - - NA
MessagePackSerializeSimpleStruct 35.3773 ns 35.2895 ns 35.4943 ns 27.52 16B - - - - NA
NinoDeserializeSimpleStructs 76.9435 ns 75.8688 ns 78.9587 ns 1.00 - 0.1214 - - 1224 B 1.00
MemoryPackDeserializeSimpleStructs 85.9869 ns 85.0470 ns 87.2034 ns 1.12 - 0.1214 - - 1224 B 1.00
MessagePackDeserializeSimpleStructs 2,421.9407 ns 2,409.6654 ns 2,435.7893 ns 31.48 - 0.1793 0.0038 0.0038 - 0.00
NinoSerializeSimpleStructs 11.7471 ns 11.7183 ns 11.8378 ns 1.00 1.18KB - - - - NA
MemoryPackSerializeSimpleStructs 14.2819 ns 14.1572 ns 14.5664 ns 1.22 1.18KB - - - - NA
MessagePackSerializeSimpleStructs 2,330.5941 ns 2,322.9924 ns 2,342.7892 ns 198.40 1.57KB - - - - NA
NinoDeserializeVectors 90,225.4006 ns 84,204.1411 ns 95,415.2555 ns 1.00 - 14.6484 14.6484 14.6484 160024 B 1.00
MemoryPackDeserializeVectors 87,239.0848 ns 84,438.0891 ns 90,312.4838 ns 0.97 - 15.8691 15.8691 15.8691 160026 B 1.00
MessagePackDeserializeVectors 268,023.1618 ns 251,123.6536 ns 288,504.8835 ns 2.97 - 17.5781 17.5781 17.5781 160028 B 1.00
NinoSerializeVectors 3,357.2277 ns 3,353.5681 ns 3,364.4610 ns 1.00 156.25KB - - - - NA
MemoryPackSerializeVectors 3,354.9766 ns 3,351.7879 ns 3,364.3001 ns 1.00 156.25KB - - - - NA
MessagePackSerializeVectors 103,329.6144 ns 102,999.2165 ns 104,243.5925 ns 30.78 205.08KB - - - - NA

📊 Performance Report

Click to expand benchmark results

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
INTEL XEON PLATINUM 8573C 2.30GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.402
  [Host]             : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v4
  ShortRun-.NET 10.0 : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v4

Job=ShortRun-.NET 10.0  Runtime=.NET 10.0  Server=True  
IterationCount=15  LaunchCount=1  WarmupCount=5  

Type Method Mean Min Max Ratio Payload Gen0 Gen1 Gen2 Allocated Alloc Ratio
FixedSizeTest NinoDeserializeFixedClass 7.6106 ns 7.5921 ns 7.6322 ns 1.00 - 0.0055 - - 56 B 1.00
FixedSizeTest MemoryPackDeserializeFixedClass 17.6726 ns 17.5610 ns 17.7995 ns 2.32 - 0.0214 - - 56 B 1.00
FixedSizeTest NinoSerializeFixedClass 8.5865 ns 8.4575 ns 8.9917 ns 1.00 41 B 0.0069 - - 72 B 1.00
FixedSizeTest MemoryPackSerializeFixedClass 15.7223 ns 15.5734 ns 15.8904 ns 1.83 41 B 0.0094 - - 72 B 1.00
FixedSizeTest NinoDeserializeFixedClasses 901.3663 ns 895.4491 ns 909.1110 ns 1.00 - 0.5608 0.0038 - 6424 B 1.00
FixedSizeTest MemoryPackDeserializeFixedClasses 954.2680 ns 948.9954 ns 961.3330 ns 1.06 - 0.5798 0.0038 - 6424 B 1.00
FixedSizeTest NinoSerializeFixedClasses 581.9859 ns 579.1945 ns 585.4747 ns 1.00 4,104 B 0.3633 - - 4128 B 1.00
FixedSizeTest MemoryPackSerializeFixedClasses 1,242.7984 ns 1,239.0210 ns 1,249.5967 ns 2.14 4,104 B 0.5341 - - 4128 B 1.00
FixedSizeTest NinoDeserializeFixedStruct 0.3303 ns 0.3224 ns 0.3663 ns 1.00 - - - - - NA
FixedSizeTest MemoryPackDeserializeFixedStruct 0.4485 ns 0.4341 ns 0.4834 ns 1.36 - - - - - NA
FixedSizeTest NinoSerializeFixedStruct 8.3146 ns 8.2724 ns 8.3866 ns 1.00 40 B 0.0062 - - 64 B 1.00
FixedSizeTest MemoryPackSerializeFixedStruct 7.7028 ns 7.6579 ns 7.7618 ns 0.93 40 B 0.0062 - - 64 B 1.00
ReferenceTest NinoDeserializeGraph 4,365.1454 ns 4,334.1402 ns 4,427.6354 ns 1.00 - 1.3809 0.0229 - 14104 B 1.00
ReferenceTest MemoryPackDeserializeGraph 14,325.3882 ns 14,093.6707 ns 14,737.4675 ns 3.28 - 2.7618 0.1221 - 14104 B 1.00
ReferenceTest NinoSerializeGraph 3,907.9743 ns 3,896.8077 ns 3,917.4589 ns 1.00 5,948 B - - - - NA
ReferenceTest MemoryPackSerializeGraph 19,729.0225 ns 19,673.5552 ns 19,809.3234 ns 5.05 5,584 B - - - - NA
PooledGraphTest NinoLeavesNew 2,840.5247 ns 2,805.8934 ns 2,904.9623 ns 1.00 - 1.2665 0.0229 - 13656 B 1.00
PooledGraphTest NinoLeavesPooledElements 1,997.0792 ns 1,942.5092 ns 2,080.8372 ns 0.70 - 0.1144 0.0038 0.0038 856 B 0.06
PooledGraphTest NinoLeavesInPlace 404.0373 ns 400.8489 ns 408.6002 ns 0.14 - - - - - 0.00
PooledGraphTest MemoryPackLeavesNew 2,803.2291 ns 2,787.8693 ns 2,827.4813 ns 0.99 - 1.2779 0.0267 - 13656 B 1.00
PooledGraphTest MemoryPackLeavesOverwrite 3,288.1591 ns 3,267.1003 ns 3,335.3340 ns 1.16 - 1.2512 0.0076 - 12800 B 0.94
PooledGraphTest NinoNodeNew 456.0116 ns 449.8252 ns 464.4218 ns 1.00 - 0.2098 0.0005 - 2192 B 1.00
PooledGraphTest NinoNodePooled 159.1698 ns 158.1384 ns 161.8578 ns 0.35 - - - - - 0.00
PooledGraphTest MemoryPackNodeNew 468.2846 ns 466.8498 ns 469.5685 ns 1.03 - 0.2108 - - 2192 B 1.00
PooledGraphTest MemoryPackNodeOverwrite 390.1697 ns 384.5761 ns 402.2261 ns 0.86 - 0.1345 - - 1024 B 0.47
PooledGraphTest NinoPlainNew 2,199.3329 ns 2,175.8491 ns 2,240.4843 ns 1.00 - 1.1139 0.0153 - 12856 B 1.00
PooledGraphTest MemoryPackPlainNew 2,764.6177 ns 2,758.2868 ns 2,771.2838 ns 1.26 - 1.1940 0.0191 - 12856 B 1.00
PolymorphicTest NinoDeserializePolymorphicClassArray 216,648.3540 ns 212,755.7433 ns 221,884.1764 ns 1.00 - 30.0293 14.1602 - 745624 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicClassArray 295,360.1647 ns 287,547.2617 ns 301,962.9541 ns 1.36 - 31.2500 15.1367 - 745624 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicClassArray 1,249,446.8818 ns 1,236,721.4844 ns 1,268,733.8105 ns 5.77 - 50.7813 19.5313 - 1162424 B 1.56
PolymorphicTest NinoSerializePolymorphicClassArray 52,405.3899 ns 52,275.1849 ns 52,541.0368 ns 1.00 397,304 B - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicClassArray 195,421.1606 ns 194,660.4934 ns 196,691.9690 ns 3.73 384,404 B - - - - NA
PolymorphicTest MessagePackSerializePolymorphicClassArray 626,229.0184 ns 625,038.5957 ns 628,002.8174 ns 11.95 487,103 B - - - - NA
PolymorphicTest NinoDeserializePolymorphicClass 15,128.2569 ns 15,029.1318 ns 15,284.9519 ns 1.00 - 7.2937 1.0376 - 79688 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicClass 21,713.0114 ns 21,497.0263 ns 22,053.8283 ns 1.44 - 7.1716 0.8850 - 79688 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicClass 152,109.0846 ns 148,769.9026 ns 158,304.3799 ns 10.05 - 7.8125 0.9766 - 83856 B 1.05
PolymorphicTest NinoSerializePolymorphicClass 5,356.3199 ns 5,335.2428 ns 5,416.5073 ns 1.00 53,789 B - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicClass 18,418.6922 ns 18,372.2670 ns 18,504.1286 ns 3.44 51,760 B - - - - NA
PolymorphicTest MessagePackSerializePolymorphicClass 86,379.3223 ns 86,170.3160 ns 86,673.2317 ns 16.13 66,859 B - - - - NA
PolymorphicTest NinoDeserializePolymorphicFooArray 14,004.7206 ns 13,861.9069 ns 14,072.9877 ns 1.00 - 6.8359 0.9308 - 76024 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicFooArray 20,730.3241 ns 20,632.4152 ns 20,775.8767 ns 1.48 - 7.0801 0.9155 - 76024 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicFooArray 145,703.6162 ns 144,839.2200 ns 146,675.1746 ns 10.40 - 7.5684 1.2207 0.2441 76024 B 1.00
PolymorphicTest NinoSerializePolymorphicFooArray 5,275.2075 ns 5,199.9828 ns 5,440.3622 ns 1.00 52,404 B - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicFooArray 19,299.2704 ns 19,230.0865 ns 19,404.0405 ns 3.66 50,404 B - - - - NA
PolymorphicTest MessagePackSerializePolymorphicFooArray 85,410.3433 ns 85,218.4164 ns 85,809.8414 ns 16.19 65,203 B - - - - NA
PooledTest NinoDeserializeNew 375.3646 ns 371.7591 ns 380.7425 ns 1.00 - 0.2284 0.0005 - 2536 B 1.00
PooledTest NinoDeserializePooled 189.8191 ns 188.3805 ns 192.6651 ns 0.51 - - - - - 0.00
PooledTest MemoryPackDeserializeNew 490.5747 ns 488.2908 ns 492.7180 ns 1.31 - 0.2422 - - 2536 B 1.00
PooledTest MemoryPackDeserializeOverwrite 416.0845 ns 414.3776 ns 419.6391 ns 1.11 - 0.1426 0.0005 - 1080 B 0.43
SimpleTest NinoDeserializeSimpleClass 380.7646 ns 378.9197 ns 383.4162 ns 1.00 - 0.2170 0.0005 - 2528 B 1.00
SimpleTest MemoryPackDeserializeSimpleClass 513.5773 ns 503.7421 ns 532.6776 ns 1.35 - 0.2413 - - 2528 B 1.00
SimpleTest MessagePackDeserializeSimpleClass 1,313.3418 ns 1,281.3447 ns 1,340.5472 ns 3.45 - 0.3014 0.0038 0.0019 - 0.00
SimpleTest NinoSerializeSimpleClass 74.8990 ns 74.4463 ns 76.2229 ns 1.00 1,150 B - - - - NA
SimpleTest MemoryPackSerializeSimpleClass 255.6176 ns 255.1074 ns 256.3441 ns 3.41 1,148 B - - - - NA
SimpleTest MessagePackSerializeSimpleClass 642.9506 ns 642.2646 ns 643.8763 ns 8.58 1,112 B - - - - NA
SimpleTest NinoDeserializeSimpleClasses 39,642.4479 ns 39,273.1453 ns 40,217.1912 ns 1.00 - 18.1274 5.4321 - 253624 B 1.00
SimpleTest MemoryPackDeserializeSimpleClasses 49,528.6921 ns 49,122.7046 ns 50,571.3454 ns 1.25 - 18.0664 5.3101 - 253624 B 1.00
SimpleTest MessagePackDeserializeSimpleClasses 145,102.2537 ns 144,662.1410 ns 145,552.3331 ns 3.66 - 18.3105 5.6152 - 253624 B 1.00
SimpleTest NinoSerializeSimpleClasses 8,535.6652 ns 8,386.3441 ns 8,943.9051 ns 1.00 115,004 B - - - - NA
SimpleTest MemoryPackSerializeSimpleClasses 26,767.8018 ns 26,631.8954 ns 27,137.2081 ns 3.14 114,804 B - - - - NA
SimpleTest MessagePackSerializeSimpleClasses 64,136.3732 ns 63,797.8722 ns 65,311.3947 ns 7.52 111,201 B - - - - NA
SimpleTest NinoDeserializeSimpleStruct 0.3320 ns 0.3242 ns 0.3594 ns 1.00 - - - - - NA
SimpleTest MemoryPackDeserializeSimpleStruct 0.3326 ns 0.3308 ns 0.3367 ns 1.00 - - - - - NA
SimpleTest MessagePackDeserializeSimpleStruct 50.8375 ns 50.5541 ns 51.4804 ns 153.25 - - - - - NA
SimpleTest NinoSerializeSimpleStruct 1.1323 ns 1.1303 ns 1.1378 ns 1.00 12 B - - - - NA
SimpleTest MemoryPackSerializeSimpleStruct 2.3886 ns 2.3857 ns 2.3932 ns 2.11 12 B - - - - NA
SimpleTest MessagePackSerializeSimpleStruct 35.3680 ns 35.1147 ns 36.2279 ns 31.23 16 B - - - - NA
SimpleTest NinoDeserializeSimpleStructs 74.3919 ns 73.9201 ns 74.8484 ns 1.00 - 0.1214 - - 1224 B 1.00
SimpleTest MemoryPackDeserializeSimpleStructs 85.4078 ns 84.9281 ns 86.4022 ns 1.15 - 0.1214 - - 1224 B 1.00
SimpleTest MessagePackDeserializeSimpleStructs 2,407.9734 ns 2,370.6897 ns 2,446.4769 ns 32.37 - 0.1183 - - 1224 B 1.00
SimpleTest NinoSerializeSimpleStructs 13.9464 ns 13.9035 ns 13.9932 ns 1.00 1,204 B - - - - NA
SimpleTest MemoryPackSerializeSimpleStructs 15.9218 ns 15.7953 ns 16.0382 ns 1.14 1,204 B - - - - NA
SimpleTest MessagePackSerializeSimpleStructs 2,327.1265 ns 2,323.0326 ns 2,335.0222 ns 166.86 1,603 B - - - - NA
VersionTolerantTest NinoDeserializeTolerantClass 377.4833 ns 376.4227 ns 379.7513 ns 1.00 - 0.2198 0.0005 - 2528 B 1.00
VersionTolerantTest MemoryPackDeserializeTolerantClass 552.3958 ns 541.2939 ns 572.4304 ns 1.46 - 0.2441 - - 2528 B 1.00
VersionTolerantTest NinoSerializeTolerantClass 73.5293 ns 73.2316 ns 74.2051 ns 1.00 1,154 B - - - - NA
VersionTolerantTest MemoryPackSerializeTolerantClass 319.1900 ns 318.2443 ns 321.1138 ns 4.34 1,164 B - - - - NA
VersionTolerantTest NinoDeserializeTolerantClasses 39,970.3033 ns 39,703.7886 ns 40,319.8814 ns 1.00 - 18.1885 5.3711 - 253624 B 1.00
VersionTolerantTest MemoryPackDeserializeTolerantClasses 55,098.2072 ns 54,143.5328 ns 57,168.5474 ns 1.38 - 17.8833 5.4932 - 253624 B 1.00
VersionTolerantTest NinoSerializeTolerantClasses 8,082.5219 ns 8,063.1470 ns 8,107.4562 ns 1.00 115,404 B - - - - NA
VersionTolerantTest MemoryPackSerializeTolerantClasses 32,553.4064 ns 32,495.4705 ns 32,661.4170 ns 4.03 116,404 B - - - - NA
SimpleTest NinoDeserializeVectors 90,546.6613 ns 83,428.0989 ns 95,402.8724 ns 1.00 - 14.2822 14.2822 14.2822 160028 B 1.00
SimpleTest MemoryPackDeserializeVectors 89,594.2866 ns 83,985.6847 ns 97,849.2910 ns 0.99 - 15.3809 15.3809 15.3809 160030 B 1.00
SimpleTest MessagePackDeserializeVectors 257,303.1025 ns 246,737.2532 ns 264,144.2131 ns 2.85 - 14.1602 14.1602 14.1602 160028 B 1.00
SimpleTest NinoSerializeVectors 3,351.5291 ns 3,346.6568 ns 3,356.7393 ns 1.00 160,004 B - - - - NA
SimpleTest MemoryPackSerializeVectors 3,362.3779 ns 3,351.3807 ns 3,397.0542 ns 1.00 160,004 B - - - - NA
SimpleTest MessagePackSerializeVectors 100,356.0211 ns 100,094.1328 ns 100,716.6783 ns 29.94 210,003 B - - - - NA

Benchmark generated automatically on 2026-10-17 10:07:58 UTC