Skip to content

v4.0.0-rc.6

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 19 Oct 02:36
· 172 commits to main since this release

Install: dotnet add package Nino --version 4.0.0-rc.6 (Unity package: 4.0.0-preview.206)

Wire format

Only these write different bytes than v4.0.0-rc.5:

  • The default string encoding writes text whose chars are all at most U+00FF (ASCII, Latin-1) in one byte a char, behind a negative length header; other text stays UTF-16 and [NinoUtf8] is unchanged. This release still reads the UTF-16 strings earlier v4 releases wrote, but earlier releases cannot read the one-byte strings it writes: upgrade the readers of your data before or together with its writers.

New

  • Nino.AspNetCore: MVC input and output formatters (AddNinoFormatters(), application/x-nino) and Minimal API support (NinoBody<T> parameters, NinoResults.Ok, ReadFromNinoAsync / WriteAsNinoAsync), reading and writing bodies straight from the request and response pipes. NinoSerializer.IsSupported(Type) tells whether Nino can serialize a type.
  • [assembly: NinoTypeLayout] now describes each member by the bytes it is written as (seq(string), map(string,seq(raw(4))), nullable(raw(4)), type(MyType) ...) instead of the formatter class, and keyed members carry their key (:key=0x…).
  • Nino.TypeScript, a build package that writes TypeScript classes, enums and codecs for the project's [NinoType]s after each build (NinoTypeScriptOutput, NinoTypeScriptImportExtension, NinoTypeScriptNames), with the nino.ts runtime, so browsers and Node read and write exactly the bytes Nino writes in .NET.

Performance

  • Payloads with Latin-1 strings are smaller, with the same serialize and deserialize times as before: the benchmark's Orders 30,848 → 26,126 bytes, Players 45,124 → 39,164 and Tree 40,676 → 31,258, now smaller than MemoryPack's (27,990, 43,364 and 32,623).
  • TypeScript serializers are faster: 1,000 player records serialize in 1.15 ms instead of 2.07 ms and deserialize in 1.17 ms instead of 1.92 ms (Node), text-heavy records 6.8x and 11x faster, and arrays of numbers 2-5x faster.
  • TypeScript deserializes text faster: lists of small records with short strings in 0.46 ms instead of 0.81 ms in Node (0.42 ms instead of 0.65 ms in Chromium), maps of short strings 1.5x faster in Node; in Chromium, arrays of numbers and structs serialize 1.3-1.5x faster.
  • Lists and arrays of value tuples, KeyValuePairs and other raw values with padding are written as whole, aligned vectors of their bytes: serializing a List<(int, long)> of 1,000 values takes 106 to 109 ns instead of 228 ns in rc.5 on an AVX-512 Xeon (MemoryPack: 136 to 141 ns), and AVX-512 CPUs without VBMI use the grouped path too.
  • Reading arrays, lists and read-only collections of 2 to 6 KB of unmanaged values allocates them without zeroing: a ReadOnlyCollection<int> of 1,000 deserializes in 450 to 510 ns instead of 570 to 590 ns.
  • Deserializing 1,000 (int, long) into an existing list or array on an AVX-512 Xeon takes 105 to 140 ns instead of 255 ns in rc.5, on par with MemoryPack (111 to 130 ns), which copies its 16-byte values as they are; 1,000-char non-Latin-1 strings deserialize about 8% faster.

Fixes

  • TypeScript: a [NinoUtf8] string starting with U+FEFF no longer fails to deserialize.
  • Unity projects that reference a library with an internal ModuleInitializerAttribute polyfill (such as ZLinq's netstandard build) compile again: the generated registry no longer names that attribute (error CS0122).

Every change between v4 releases: Changelog.

What's Changed since v4.0.0-rc.5

26 commits

✨ Features

⚡ Performance

🐛 Fixes

📖 Documentation

🧪 Tests

🔧 Build, CI and dependencies

Contributors

Thanks to everyone who contributed to this release: @JasonXuDeveloper

Full Changelog: v4.0.0-rc.5...v4.0.0-rc.6

📊 v3 3.3.13 vs v4 (same machine)

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

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

v4 vs v3

case v3 3.3.13 v4 v4 vs v3 MemoryPack (v4 run) MemoryPack (v3 run)
SerializeSimpleClass 185.92 ns 101.90 ns 0.55x 395.72 ns 442.09 ns
SerializeSimpleClasses 25.35 μs 11.75 μs 0.46x 39.57 μs 39.87 μs
SerializeSimpleStruct 3.62 ns 4.54 ns 1.25x 5.14 ns 5.13 ns
SerializeSimpleStructs 22.49 ns 21.93 ns 0.98x 22.53 ns 21.95 ns
SerializeVectors 3.31 μs 3.31 μs 1.00x 3.44 μs 3.31 μs
SerializeFixedClass - 10.29 ns - 24.92 ns -
SerializeFixedClasses - 747.63 ns - 1.74 μs -
SerializeFixedStruct - 9.36 ns - 9.19 ns -
SerializeInventory - 90.72 ns - 93.18 ns -
SerializeOrders - 9.71 μs - 15.50 μs -
SerializePlayers - 10.62 μs - 26.04 μs -
SerializeShapes - 1.84 μs - 22.94 μs -
SerializeStringDictionary - 8.61 μs - 32.70 μs -
SerializeTree - 15.90 μs - 20.56 μs -
SerializeBigInteger - 13.56 ns - - -
SerializeBitArray - 25.62 ns - - -
SerializeBlockingCollection - 5.52 μs - 11.61 μs -
SerializeCultureInfo - 5.59 ns - 27.58 ns -
SerializeImmutableDictionary - 19.08 μs - 20.36 μs -
SerializeImmutableHashSet - 15.26 μs - 22.32 μs -
SerializeImmutableQueue - 1.98 μs - 10.34 μs -
SerializeImmutableSortedDictionary - 8.61 μs - 9.66 μs -
SerializeImmutableSortedSet - 7.96 μs - 13.80 μs -
SerializeImmutableStack - 4.42 μs - 15.67 μs -
SerializeLazy - 8.50 ns - 47.45 ns -
SerializeLookup - 2.64 μs - 9.51 μs -
SerializeMemory - 54.58 ns - 73.62 ns -
SerializePolymorphicClassArray - 77.49 μs - 339.40 μs -
SerializePolymorphicClass - 6.64 μs - 35.68 μs -
SerializePolymorphicFooArray - 6.91 μs - 38.70 μs -
SerializeReadOnlyCollection - 2.38 μs - 8.50 μs -
SerializeReadOnlySequence - 62.52 ns - 75.70 ns -
SerializeStringBuilder - 32.36 ns - 55.05 ns -
SerializeTimeZoneInfo - 11.17 ns - 287.88 ns -
SerializeUri - 9.85 ns - 30.97 ns -
SerializeVersion - 4.67 ns - 23.26 ns -
SerializeGraph - 5.63 μs - 29.66 μs -
SerializeTolerantClass - 107.20 ns - 512.66 ns -
SerializeTolerantClasses - 12.35 μs - 52.63 μs -
SerializeConcurrentDictionary - 2.39 μs - 3.88 μs -
SerializeHashSet - 1.06 μs - 8.45 μs -
SerializeKeyValuePairs - 92.61 ns - 92.68 ns -
SerializeLinkedList - 1.56 μs - 8.25 μs -
SerializeQueue - 56.37 ns - 8.36 μs -
SerializeSortedList - 1.88 μs - 3.38 μs -
SerializeTupleList - 387.96 ns - 231.65 ns -
DeserializeNew - 469.82 ns - 708.26 ns -
DeserializePooled - 298.37 ns - - -
DeserializeSimpleClass 537.39 ns 463.06 ns 0.86x 739.18 ns 715.81 ns
DeserializeSimpleClasses 57.37 μs 48.24 μs 0.84x 75.08 μs 70.32 μs
DeserializeSimpleStruct 0.76 ns 0.71 ns 0.95x 1.46 ns 1.47 ns
DeserializeSimpleStructs 86.06 ns 85.43 ns 0.99x 100.62 ns 99.63 ns
DeserializeVectors 121.25 μs 123.79 μs 1.02x 121.34 μs 118.19 μs
DeserializeFixedClass - 10.37 ns - 22.72 ns -
DeserializeFixedClasses - 1.11 μs - 1.34 μs -
DeserializeFixedStruct - 0.39 ns - 1.04 ns -
DeserializeInventory - 448.21 ns - 459.80 ns -
DeserializeOrders - 25.94 μs - 32.91 μs -
DeserializePlayers - 32.03 μs - 44.94 μs -
DeserializeShapes - 10.97 μs - 16.14 μs -
DeserializeStringDictionary - 40.54 μs - 63.42 μs -
DeserializeTree - 70.33 μs - 73.80 μs -
DeserializePolymorphicClassArray - 258.18 μs - 381.82 μs -
DeserializePolymorphicClass - 17.85 μs - 30.25 μs -
DeserializePolymorphicFooArray - 15.49 μs - 28.89 μs -
DeserializeBigInteger - 40.11 ns - - -
DeserializeBitArray - 52.94 ns - - -
DeserializeBlockingCollection - 5.42 μs - 29.56 μs -
DeserializeCultureInfo - 49.60 ns - 70.05 ns -
DeserializeGraph - 6.11 μs - 20.33 μs -
DeserializeImmutableDictionary - 111.73 μs - 113.00 μs -
DeserializeImmutableHashSet - 96.52 μs - 104.22 μs -
DeserializeImmutableQueue - 8.22 μs - 10.00 μs -
DeserializeImmutableSortedDictionary - 57.96 μs - 105.36 μs -
DeserializeImmutableSortedSet - 19.67 μs - 87.98 μs -
DeserializeImmutableStack - 7.73 μs - 9.93 μs -
DeserializeLazy - 21.07 ns - 40.98 ns -
DeserializeLookup - 623.06 ns - 859.10 ns -
DeserializeMemory - 261.78 ns - 314.76 ns -
DeserializeReadOnlyCollection - 299.85 ns - 306.50 ns -
DeserializeReadOnlySequence - 315.11 ns - 317.42 ns -
DeserializeStringBuilder - 142.16 ns - 159.21 ns -
DeserializeTimeZoneInfo - 14.62 ns - 354.48 ns -
DeserializeTolerantClass - 505.78 ns - 814.26 ns -
DeserializeTolerantClasses - 52.95 μs - 84.17 μs -
DeserializeUri - 104.16 ns - 121.34 ns -
DeserializeVersion - 7.21 ns - 18.08 ns -
DeserializeConcurrentDictionary - 15.54 μs - 56.06 μs -
DeserializeHashSet - 5.69 μs - 6.54 μs -
DeserializeKeyValuePairs - 433.08 ns - 460.56 ns -
LeavesNew - 3.17 μs - 3.86 μs -
LeavesPooledElements - 3.47 μs - - -
LeavesInPlace - 486.01 ns - - -
DeserializeLinkedList - 14.36 μs - 14.31 μs -
NodeNew - 581.33 ns - 686.57 ns -
NodePooled - 205.50 ns - - -
PlainNew - 2.92 μs - 4.10 μs -
DeserializeQueue - 267.35 ns - 3.55 μs -
DeserializeSortedList - 1.94 μs - 15.27 μs -
DeserializeTupleList - 1.22 μs - 1.08 μ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.07x (same code in both runs; the spread is the noise floor of this comparison).

(The raw v3 reports are in the workflow artifacts.)

📊 Arm64 benchmark

The Arm64 report is attached to this release: arm64-benchmark.md (the release notes have no room for it).

📊 Performance Report

Click to expand benchmark results

BenchmarkDotNet v0.15.8, Linux Ubuntu 26.04.1 LTS (Resolute Raccoon)
AMD EPYC 7763 2.59GHz, 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-v3
  ShortRun-.NET 10.0 : .NET 10.0.13 (10.0.13, 10.0.1326.50504), X64 RyuJIT x86-64-v3

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

Type Method Mean Median Min Max Ratio Payload Gen0 Gen1 Gen2 Allocated Alloc Ratio
PooledTest NinoDeserializeNew 469.8175 ns 470.2694 ns 461.1434 ns 477.0362 ns 1.00 - 0.2298 - - 2536 B 1.00
PooledTest NinoDeserializePooled 298.3700 ns 298.9452 ns 296.0001 ns 300.3451 ns 0.64 - - - - - 0.00
PooledTest MemoryPackDeserializeNew 708.2577 ns 705.0784 ns 700.0440 ns 725.8960 ns 1.51 - 0.2489 - - 2536 B 1.00
PooledTest MemoryPackDeserializeOverwrite 606.4009 ns 604.1528 ns 593.6854 ns 622.5798 ns 1.29 - 0.1421 - - 1080 B 0.43
SimpleTest NinoDeserializeSimpleClass 463.0612 ns 462.9319 ns 455.3934 ns 473.0055 ns 1.00 - 0.2213 0.0005 - 2528 B 1.00
SimpleTest MemoryPackDeserializeSimpleClass 739.1793 ns 730.0775 ns 706.0640 ns 784.9341 ns 1.60 - 0.2489 - - 2528 B 1.00
SimpleTest MessagePackDeserializeSimpleClass 1,768.1144 ns 1,766.5533 ns 1,756.2619 ns 1,791.5780 ns 3.82 - 0.3319 0.0019 - 2528 B 1.00
SimpleTest NinoSerializeSimpleClass 101.8980 ns 103.3352 ns 96.9835 ns 105.1314 ns 1.00 1,104 B - - - - NA
SimpleTest MemoryPackSerializeSimpleClass 395.7231 ns 396.3732 ns 392.4194 ns 398.9031 ns 3.89 1,148 B - - - - NA
SimpleTest MessagePackSerializeSimpleClass 1,095.2240 ns 1,096.0586 ns 1,086.6706 ns 1,101.9091 ns 10.76 1,112 B - - - - NA
SimpleTest NinoDeserializeSimpleClasses 48,237.0004 ns 48,211.7486 ns 47,395.1423 ns 49,465.8317 ns 1.00 - 18.0054 5.6152 - 253624 B 1.00
SimpleTest MemoryPackDeserializeSimpleClasses 75,075.1910 ns 71,027.3480 ns 69,528.7733 ns 84,480.5175 ns 1.56 - 17.7002 5.3711 - 253624 B 1.00
SimpleTest MessagePackDeserializeSimpleClasses 188,310.5242 ns 188,131.3883 ns 185,624.0829 ns 190,921.1493 ns 3.90 - 18.3105 5.6152 - 253624 B 1.00
SimpleTest NinoSerializeSimpleClasses 11,749.9698 ns 11,660.7824 ns 11,627.0304 ns 12,001.4301 ns 1.00 110,404 B - - - - NA
SimpleTest MemoryPackSerializeSimpleClasses 39,569.4687 ns 39,583.4896 ns 39,081.6703 ns 40,254.5514 ns 3.37 114,804 B - - - - NA
SimpleTest MessagePackSerializeSimpleClasses 110,757.5348 ns 111,117.8350 ns 109,060.3275 ns 112,390.9166 ns 9.43 111,203 B - - - - NA
SimpleTest NinoDeserializeSimpleStruct 0.7146 ns 0.7099 ns 0.7040 ns 0.7313 ns 1.00 - - - - - NA
SimpleTest MemoryPackDeserializeSimpleStruct 1.4568 ns 1.4560 ns 1.4512 ns 1.4727 ns 2.04 - - - - - NA
SimpleTest MessagePackDeserializeSimpleStruct 78.2270 ns 77.0478 ns 76.7600 ns 81.3347 ns 109.49 - - - - - NA
SimpleTest NinoSerializeSimpleStruct 4.5386 ns 4.5292 ns 4.5177 ns 4.5731 ns 1.00 12 B - - - - NA
SimpleTest MemoryPackSerializeSimpleStruct 5.1429 ns 5.1249 ns 5.1021 ns 5.2029 ns 1.13 12 B - - - - NA
SimpleTest MessagePackSerializeSimpleStruct 58.1502 ns 58.1432 ns 57.9998 ns 58.2919 ns 12.81 16 B - - - - NA
SimpleTest NinoDeserializeSimpleStructs 85.4317 ns 84.7232 ns 83.7467 ns 88.3087 ns 1.00 - 0.1214 - - 1224 B 1.00
SimpleTest MemoryPackDeserializeSimpleStructs 100.6208 ns 101.0293 ns 97.6718 ns 103.4006 ns 1.18 - 0.1214 - - 1224 B 1.00
SimpleTest MessagePackDeserializeSimpleStructs 3,434.2847 ns 3,447.3678 ns 3,378.4908 ns 3,486.5311 ns 40.21 - 0.1869 0.0038 0.0038 - 0.00
SimpleTest NinoSerializeSimpleStructs 21.9326 ns 21.6744 ns 21.5737 ns 22.6312 ns 1.00 1,204 B - - - - NA
SimpleTest MemoryPackSerializeSimpleStructs 22.5276 ns 21.0981 ns 20.7069 ns 26.0197 ns 1.03 1,204 B - - - - NA
SimpleTest MessagePackSerializeSimpleStructs 3,583.5103 ns 3,596.2883 ns 3,546.6943 ns 3,616.2782 ns 163.44 1,603 B - - - - NA
SimpleTest NinoDeserializeVectors 123,788.5216 ns 124,893.6809 ns 112,309.3610 ns 132,366.1134 ns 1.00 - 17.3340 17.3340 17.3340 160034 B 1.00
SimpleTest MemoryPackDeserializeVectors 121,339.2514 ns 120,950.1748 ns 111,623.4480 ns 130,539.9344 ns 0.98 - 10.9863 10.9863 10.9863 160022 B 1.00
SimpleTest MessagePackDeserializeVectors 383,253.8703 ns 383,338.5181 ns 364,385.8584 ns 397,011.7935 ns 3.10 - 17.0898 17.0898 17.0898 160034 B 1.00
SimpleTest NinoSerializeVectors 3,309.1704 ns 3,306.0656 ns 3,226.1202 ns 3,395.1571 ns 1.00 160,004 B - - - - NA
SimpleTest MemoryPackSerializeVectors 3,439.9768 ns 3,403.5052 ns 3,373.7433 ns 3,546.1160 ns 1.04 160,004 B - - - - NA
SimpleTest MessagePackSerializeVectors 165,442.4164 ns 165,296.3085 ns 164,702.1152 ns 166,199.2166 ns 50.01 210,003 B - - - - NA
FixedSizeTest NinoDeserializeFixedClass 10.3691 ns 10.2812 ns 9.6831 ns 11.1760 ns 1.00 - 0.0054 - - 56 B 1.00
FixedSizeTest MemoryPackDeserializeFixedClass 22.7237 ns 22.6639 ns 22.1005 ns 23.6630 ns 2.20 - 0.0074 - - 56 B 1.00
FixedSizeTest NinoSerializeFixedClass 10.2855 ns 10.2187 ns 9.7657 ns 10.9377 ns 1.00 41 B 0.0061 - - 72 B 1.00
FixedSizeTest MemoryPackSerializeFixedClass 24.9244 ns 25.0018 ns 24.3452 ns 25.4477 ns 2.43 41 B 0.0094 - - 72 B 1.00
FixedSizeTest NinoDeserializeFixedClasses 1,114.4687 ns 1,115.5939 ns 1,095.0090 ns 1,133.8697 ns 1.00 - 0.5436 0.0038 - 6424 B 1.00
FixedSizeTest MemoryPackDeserializeFixedClasses 1,344.8903 ns 1,342.4858 ns 1,316.8260 ns 1,410.5782 ns 1.21 - 0.5569 0.0038 - 6424 B 1.00
FixedSizeTest NinoSerializeFixedClasses 747.6283 ns 746.7052 ns 739.4864 ns 761.0473 ns 1.00 4,104 B 0.3395 - - 4128 B 1.00
FixedSizeTest MemoryPackSerializeFixedClasses 1,738.8546 ns 1,738.8161 ns 1,725.4791 ns 1,756.6554 ns 2.33 4,104 B 0.5341 - - 4128 B 1.00
FixedSizeTest NinoDeserializeFixedStruct 0.3920 ns 0.3918 ns 0.3886 ns 0.3962 ns 1.00 - - - - - NA
FixedSizeTest MemoryPackDeserializeFixedStruct 1.0366 ns 1.0361 ns 1.0292 ns 1.0479 ns 2.64 - - - - - NA
FixedSizeTest NinoSerializeFixedStruct 9.3631 ns 9.2925 ns 9.1385 ns 9.7243 ns 1.00 40 B 0.0058 - - 64 B 1.00
FixedSizeTest MemoryPackSerializeFixedStruct 9.1862 ns 9.3847 ns 8.3267 ns 9.8192 ns 0.98 40 B 0.0053 - - 64 B 1.00
CommonTypesTest NinoDeserializeInventory 448.2116 ns 445.0878 ns 435.6028 ns 472.3375 ns 1.00 - 0.7768 - - 8024 B 1.00
CommonTypesTest MemoryPackDeserializeInventory 459.8027 ns 458.9412 ns 450.4429 ns 479.4988 ns 1.03 - 0.7768 - - 8024 B 1.00
CommonTypesTest NinoSerializeInventory 90.7153 ns 90.5397 ns 89.7920 ns 91.9009 ns 1.00 8,004 B - - - - NA
CommonTypesTest MemoryPackSerializeInventory 93.1758 ns 93.1980 ns 92.7528 ns 94.1199 ns 1.03 8,004 B - - - - NA
CommonTypesTest NinoDeserializeOrders 25,939.8912 ns 25,897.7051 ns 25,336.6452 ns 26,830.0400 ns 1.00 - 8.0872 1.3428 - 88552 B 1.00
CommonTypesTest MemoryPackDeserializeOrders 32,909.1194 ns 32,919.3860 ns 32,048.0565 ns 33,705.4994 ns 1.27 - 7.8735 1.2207 - 88552 B 1.00
CommonTypesTest NinoSerializeOrders 9,714.8432 ns 9,685.2597 ns 9,223.7018 ns 10,235.4455 ns 1.00 26,126 B - - - - NA
CommonTypesTest MemoryPackSerializeOrders 15,504.1575 ns 15,626.7187 ns 15,146.5935 ns 15,834.6228 ns 1.60 27,990 B - - - - NA
CommonTypesTest NinoDeserializePlayers 32,032.1651 ns 31,992.1979 ns 31,368.8997 ns 32,971.3283 ns 1.00 - 10.3149 2.0142 - 120056 B 1.00
CommonTypesTest MemoryPackDeserializePlayers 44,941.4545 ns 44,620.9643 ns 43,015.6672 ns 48,319.2726 ns 1.40 - 9.7656 2.0752 - 120056 B 1.00
CommonTypesTest NinoSerializePlayers 10,623.2301 ns 10,619.4435 ns 10,454.6248 ns 10,734.8474 ns 1.00 39,164 B - - - - NA
CommonTypesTest MemoryPackSerializePlayers 26,037.2501 ns 25,815.5643 ns 25,744.0205 ns 26,587.3760 ns 2.45 43,364 B - - - - NA
CommonTypesTest NinoDeserializeShapes 10,968.8094 ns 10,345.7417 ns 10,160.8388 ns 12,572.3023 ns 1.01 - 3.3875 0.1984 - 36056 B 1.00
CommonTypesTest MemoryPackDeserializeShapes 16,141.5323 ns 16,119.8470 ns 15,925.6230 ns 16,892.8812 ns 1.48 - 3.5706 0.1831 - 36056 B 1.00
CommonTypesTest NinoSerializeShapes 1,840.5628 ns 1,840.4373 ns 1,838.2443 ns 1,844.5940 ns 1.00 14,004 B - - - - NA
CommonTypesTest MemoryPackSerializeShapes 22,942.1400 ns 22,979.7725 ns 22,764.0875 ns 23,067.0362 ns 12.46 12,004 B - - - - NA
CommonTypesTest NinoDeserializeStringDictionary 40,539.5361 ns 40,670.3343 ns 39,493.3683 ns 41,367.2305 ns 1.00 - 9.5825 1.6479 - 110216 B 1.00
CommonTypesTest MemoryPackDeserializeStringDictionary 63,419.9994 ns 63,385.6813 ns 62,013.5510 ns 64,728.9741 ns 1.56 - 9.8877 1.7090 - 110216 B 1.00
CommonTypesTest NinoSerializeStringDictionary 8,612.0258 ns 8,545.6105 ns 8,529.4465 ns 8,774.6179 ns 1.00 22,734 B - - - - NA
CommonTypesTest MemoryPackSerializeStringDictionary 32,696.2943 ns 31,764.1770 ns 31,444.9645 ns 34,659.5125 ns 3.80 30,734 B - - - - NA
CommonTypesTest NinoDeserializeTree 70,329.1944 ns 70,342.6284 ns 69,434.0479 ns 71,558.9055 ns 1.00 - 13.5498 3.4180 - 171872 B 1.00
CommonTypesTest MemoryPackDeserializeTree 73,802.2828 ns 72,914.5251 ns 70,737.3717 ns 78,157.6602 ns 1.05 - 13.4277 3.4180 - 171872 B 1.00
CommonTypesTest NinoSerializeTree 15,897.9953 ns 15,941.4264 ns 15,772.5813 ns 15,983.9853 ns 1.00 31,258 B - - - - NA
CommonTypesTest MemoryPackSerializeTree 20,559.3890 ns 20,389.8384 ns 20,203.3891 ns 21,238.8002 ns 1.29 32,623 B - - - - NA
BclTypesTest NinoSerializeBigInteger 13.563 ns 13.307 ns 13.208 ns 14.173 ns 1.00 203 B - - - - NA
BclTypesTest NinoSerializeBitArray 25.619 ns 25.714 ns 25.119 ns 25.949 ns 1.00 129 B - - - - NA
BclTypesTest NinoSerializeBlockingCollection 5,515.432 ns 5,516.685 ns 5,440.714 ns 5,554.630 ns 1.00 4,004 B 0.4807 0.0076 0.0076 - NA
BclTypesTest MemoryPackSerializeBlockingCollection 11,613.111 ns 11,524.384 ns 11,506.364 ns 11,828.226 ns 2.11 4,004 B - - - 72 B NA
BclTypesTest NinoSerializeCultureInfo 5.590 ns 5.579 ns 5.563 ns 5.638 ns 1.00 9 B - - - - NA
BclTypesTest MemoryPackSerializeCultureInfo 27.580 ns 27.636 ns 27.368 ns 27.734 ns 4.93 13 B - - - - NA
BclTypesTest NinoSerializeImmutableDictionary 19,081.488 ns 19,205.147 ns 18,673.116 ns 19,503.214 ns 1.00 8,004 B - - - - NA
BclTypesTest MemoryPackSerializeImmutableDictionary 20,362.970 ns 20,555.722 ns 19,686.765 ns 20,909.650 ns 1.07 8,004 B - - - - NA
BclTypesTest NinoSerializeImmutableHashSet 15,260.953 ns 15,096.229 ns 14,890.120 ns 16,088.353 ns 1.00 4,004 B - - - - NA
BclTypesTest MemoryPackSerializeImmutableHashSet 22,322.736 ns 20,784.410 ns 20,426.502 ns 25,586.550 ns 1.46 4,004 B - - - - NA
BclTypesTest NinoSerializeImmutableQueue 1,977.409 ns 1,976.783 ns 1,973.820 ns 1,984.436 ns 1.00 4,004 B - - - - NA
BclTypesTest MemoryPackSerializeImmutableQueue 10,335.270 ns 11,125.506 ns 8,584.034 ns 11,251.374 ns 5.23 4,004 B - - - - NA
BclTypesTest NinoSerializeImmutableSortedDictionary 8,608.902 ns 8,702.525 ns 8,299.105 ns 8,846.488 ns 1.00 8,004 B - - - - NA
BclTypesTest MemoryPackSerializeImmutableSortedDictionary 9,659.918 ns 9,759.457 ns 9,340.514 ns 9,871.430 ns 1.12 8,004 B - - - - NA
BclTypesTest NinoSerializeImmutableSortedSet 7,957.039 ns 7,760.381 ns 7,733.157 ns 8,387.925 ns 1.00 4,004 B - - - - NA
BclTypesTest MemoryPackSerializeImmutableSortedSet 13,804.640 ns 13,686.044 ns 13,593.390 ns 14,124.911 ns 1.74 4,004 B - - - - NA
BclTypesTest NinoSerializeImmutableStack 4,421.347 ns 4,408.771 ns 4,240.196 ns 4,606.102 ns 1.00 4,004 B 1.1063 0.0153 - 8464 B 1.00
BclTypesTest MemoryPackSerializeImmutableStack 15,667.568 ns 15,674.855 ns 15,450.727 ns 15,815.442 ns 3.55 4,004 B 0.3967 - - 4112 B 0.49
BclTypesTest NinoSerializeLazy 8.500 ns 8.508 ns 8.383 ns 8.632 ns 1.00 27 B - - - - NA
BclTypesTest MemoryPackSerializeLazy 47.449 ns 46.179 ns 45.215 ns 50.980 ns 5.58 31 B - - - - NA
BclTypesTest NinoSerializeLookup 2,637.557 ns 2,616.863 ns 2,590.965 ns 2,715.701 ns 1.00 4,084 B 0.0305 - - 320 B 1.00
BclTypesTest MemoryPackSerializeLookup 9,514.496 ns 9,596.837 ns 9,314.810 ns 9,637.774 ns 3.61 4,094 B 0.0305 - - 320 B 1.00
BclTypesTest NinoSerializeMemory 54.584 ns 53.720 ns 53.604 ns 56.411 ns 1.00 4,004 B - - - - NA
BclTypesTest MemoryPackSerializeMemory 73.623 ns 74.278 ns 71.618 ns 74.944 ns 1.35 4,004 B - - - - NA
PolymorphicTest NinoDeserializePolymorphicClassArray 258,178.850 ns 256,855.715 ns 246,639.762 ns 277,298.155 ns 1.00 - 32.2266 14.6484 - 745624 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicClassArray 381,821.560 ns 381,861.794 ns 366,961.209 ns 398,714.819 ns 1.48 - 32.7148 15.6250 - 745624 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicClassArray 1,796,609.093 ns 1,776,444.850 ns 1,728,898.080 ns 1,887,880.344 ns 6.96 - 48.8281 23.4375 - 1162424 B 1.56
PolymorphicTest NinoSerializePolymorphicClassArray 77,490.679 ns 77,504.461 ns 76,816.487 ns 78,026.111 ns 1.00 397,304 B - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicClassArray 339,396.159 ns 332,544.416 ns 327,914.897 ns 360,654.803 ns 4.38 384,404 B - - - - NA
PolymorphicTest MessagePackSerializePolymorphicClassArray 940,382.824 ns 939,388.677 ns 910,476.333 ns 969,328.759 ns 12.14 487,103 B - - - - NA
PolymorphicTest NinoDeserializePolymorphicClass 17,848.969 ns 17,825.420 ns 17,031.778 ns 19,249.964 ns 1.00 - 7.0801 0.9460 - 79688 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicClass 30,246.672 ns 30,164.646 ns 29,008.133 ns 31,630.234 ns 1.70 - 7.4463 1.0071 - 79688 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicClass 231,995.138 ns 229,943.166 ns 224,122.631 ns 241,312.272 ns 13.01 - 11.2305 2.1973 0.4883 83856 B 1.05
PolymorphicTest NinoSerializePolymorphicClass 6,636.485 ns 6,568.095 ns 6,524.301 ns 6,861.057 ns 1.00 53,789 B - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicClass 35,684.729 ns 35,748.207 ns 33,079.068 ns 37,870.805 ns 5.38 51,760 B - - - - NA
PolymorphicTest MessagePackSerializePolymorphicClass 125,042.567 ns 125,177.386 ns 120,823.987 ns 130,782.224 ns 18.85 66,859 B - - - - NA
PolymorphicTest NinoDeserializePolymorphicFooArray 15,491.591 ns 15,475.037 ns 14,886.313 ns 16,225.903 ns 1.00 - 6.5308 0.8850 - 76024 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicFooArray 28,893.241 ns 28,806.744 ns 27,726.319 ns 30,914.410 ns 1.87 - 7.1411 0.9155 - 76024 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicFooArray 220,342.082 ns 219,580.534 ns 212,923.931 ns 226,684.398 ns 14.23 - 7.0801 0.7324 - 76024 B 1.00
PolymorphicTest NinoSerializePolymorphicFooArray 6,914.832 ns 6,704.963 ns 6,600.905 ns 7,454.095 ns 1.00 52,404 B - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicFooArray 38,699.839 ns 38,481.602 ns 35,254.702 ns 43,327.974 ns 5.61 50,404 B - - - - NA
PolymorphicTest MessagePackSerializePolymorphicFooArray 120,757.924 ns 120,027.350 ns 117,750.766 ns 125,483.883 ns 17.50 65,203 B - - - - NA
BclTypesTest NinoSerializeReadOnlyCollection 2,384.123 ns 2,381.663 ns 2,379.186 ns 2,422.401 ns 1.00 4,004 B 0.0038 - - 40 B 1.00
BclTypesTest MemoryPackSerializeReadOnlyCollection 8,502.385 ns 8,498.249 ns 8,484.815 ns 8,566.398 ns 3.57 4,004 B - - - 40 B 1.00
BclTypesTest NinoSerializeReadOnlySequence 62.521 ns 64.040 ns 59.339 ns 64.528 ns 1.00 4,004 B - - - - NA
BclTypesTest MemoryPackSerializeReadOnlySequence 75.696 ns 74.708 ns 73.941 ns 78.669 ns 1.21 4,004 B - - - - NA
BclTypesTest NinoSerializeStringBuilder 32.359 ns 31.521 ns 31.302 ns 34.274 ns 1.00 2,004 B - - - - NA
BclTypesTest MemoryPackSerializeStringBuilder 55.045 ns 53.365 ns 51.301 ns 60.621 ns 1.70 2,004 B - - - - NA
BclTypesTest NinoSerializeTimeZoneInfo 11.167 ns 11.106 ns 11.063 ns 11.357 ns 1.00 11 B - - - - NA
BclTypesTest MemoryPackSerializeTimeZoneInfo 287.882 ns 283.324 ns 276.436 ns 306.533 ns 25.78 102 B 0.0224 0.0010 0.0010 216 B NA
BclTypesTest NinoSerializeUri 9.853 ns 9.605 ns 9.589 ns 10.394 ns 1.00 56 B - - - - NA
BclTypesTest MemoryPackSerializeUri 30.966 ns 30.539 ns 30.391 ns 31.862 ns 3.15 60 B - - - - NA
BclTypesTest NinoSerializeVersion 4.668 ns 4.693 ns 4.605 ns 4.709 ns 1.00 16 B - - - - NA
BclTypesTest MemoryPackSerializeVersion 23.260 ns 23.550 ns 22.479 ns 23.849 ns 4.98 17 B - - - - NA
BclTypesTest NinoDeserializeBigInteger 40.114 ns 40.068 ns 38.519 ns 42.212 ns 1.00 - 0.0198 - - 256 B 1.00
BclTypesTest NinoDeserializeBitArray 52.943 ns 53.703 ns 47.540 ns 57.307 ns 1.00 - 0.0256 - - 336 B 1.00
BclTypesTest NinoDeserializeBlockingCollection 5,417.273 ns 5,410.841 ns 5,231.739 ns 5,683.725 ns 1.00 - 1.2436 0.0076 - 12792 B 1.00
BclTypesTest MemoryPackDeserializeBlockingCollection 29,559.038 ns 29,570.599 ns 29,019.025 ns 30,241.216 ns 5.46 - 1.8921 0.0916 0.0305 - 0.00
BclTypesTest NinoDeserializeCultureInfo 49.605 ns 49.634 ns 48.247 ns 51.236 ns 1.00 - 0.0125 - - 64 B 1.00
BclTypesTest MemoryPackDeserializeCultureInfo 70.048 ns 67.805 ns 64.883 ns 78.405 ns 1.41 - 0.0068 0.0001 0.0001 - 0.00
ReferenceTest NinoDeserializeGraph 6,114.270 ns 6,019.370 ns 5,864.895 ns 6,480.474 ns 1.00 - 1.3962 0.0229 - 14104 B 1.00
ReferenceTest MemoryPackDeserializeGraph 20,325.330 ns 20,293.701 ns 19,769.065 ns 20,952.211 ns 3.33 - 1.6479 0.0610 0.0305 - 0.00
ReferenceTest NinoSerializeGraph 5,631.047 ns 5,640.438 ns 5,534.742 ns 5,738.755 ns 1.00 5,878 B - - - - NA
ReferenceTest MemoryPackSerializeGraph 29,659.917 ns 29,530.669 ns 29,290.318 ns 30,223.079 ns 5.27 5,584 B - - - - NA
BclTypesTest NinoDeserializeImmutableDictionary 111,734.592 ns 111,505.984 ns 106,896.921 ns 116,499.646 ns 1.00 - 6.5918 0.6104 0.2441 - NA
BclTypesTest MemoryPackDeserializeImmutableDictionary 112,997.599 ns 112,935.253 ns 112,120.806 ns 114,936.697 ns 1.01 - 6.1035 0.8545 0.1221 - NA
BclTypesTest NinoDeserializeImmutableHashSet 96,524.637 ns 96,414.772 ns 95,302.507 ns 97,964.933 ns 1.00 - 6.1035 0.7324 0.2441 - NA
BclTypesTest MemoryPackDeserializeImmutableHashSet 104,223.475 ns 103,635.552 ns 101,251.025 ns 107,780.615 ns 1.08 - 5.7373 0.8545 0.2441 56105 B NA
BclTypesTest NinoDeserializeImmutableQueue 8,222.806 ns 8,185.333 ns 7,603.070 ns 8,940.233 ns 1.00 - 3.4485 0.0916 - 36064 B 1.00
BclTypesTest MemoryPackDeserializeImmutableQueue 9,996.868 ns 9,889.871 ns 9,380.269 ns 10,627.818 ns 1.22 - 3.0212 0.0610 - 32112 B 0.89
BclTypesTest NinoDeserializeImmutableSortedDictionary 57,963.712 ns 57,941.210 ns 54,632.869 ns 62,066.914 ns 1.00 - 15.0757 1.8311 - 161056 B 1.00
BclTypesTest MemoryPackDeserializeImmutableSortedDictionary 105,361.468 ns 106,118.940 ns 96,922.419 ns 113,087.431 ns 1.82 - 4.6387 0.3662 - 48112 B 0.30
BclTypesTest NinoDeserializeImmutableSortedSet 19,671.742 ns 19,671.018 ns 18,730.490 ns 20,654.256 ns 1.00 - 5.3711 0.2441 - 56112 B 1.00
BclTypesTest MemoryPackDeserializeImmutableSortedSet 87,979.004 ns 87,411.158 ns 84,572.032 ns 91,123.337 ns 4.48 - 7.3242 0.9766 0.1221 - 0.00
BclTypesTest NinoDeserializeImmutableStack 7,727.599 ns 7,698.398 ns 7,460.182 ns 8,086.071 ns 1.00 - 3.4332 0.0916 - 36024 B 1.00
BclTypesTest MemoryPackDeserializeImmutableStack 9,930.772 ns 9,900.646 ns 9,398.490 ns 10,517.315 ns 1.29 - 2.9755 0.0610 - 32040 B 0.89
BclTypesTest NinoDeserializeLazy 21.068 ns 21.002 ns 19.270 ns 23.192 ns 1.00 - 0.0101 - - 112 B 1.00
BclTypesTest MemoryPackDeserializeLazy 40.978 ns 40.921 ns 39.696 ns 43.194 ns 1.95 - 0.0111 - - 112 B 1.00
BclTypesTest NinoDeserializeLookup 623.063 ns 616.437 ns 590.424 ns 686.913 ns 1.00 - 0.5093 0.0029 - 5152 B 1.00
BclTypesTest MemoryPackDeserializeLookup 859.101 ns 846.478 ns 820.162 ns 918.340 ns 1.38 - 0.4663 0.0029 - 5576 B 1.08
BclTypesTest NinoDeserializeMemory 261.780 ns 261.067 ns 255.228 ns 267.598 ns 1.00 - 0.4058 - - 4056 B 1.00
BclTypesTest MemoryPackDeserializeMemory 314.763 ns 313.463 ns 305.556 ns 327.772 ns 1.20 - 0.3972 0.0024 - 4056 B 1.00
BclTypesTest NinoDeserializeReadOnlyCollection 299.854 ns 299.643 ns 291.467 ns 308.962 ns 1.00 - 0.3967 0.0019 - 4048 B 1.00
BclTypesTest MemoryPackDeserializeReadOnlyCollection 306.500 ns 305.859 ns 298.667 ns 313.618 ns 1.02 - 0.3967 0.0024 - 4048 B 1.00
BclTypesTest NinoDeserializeReadOnlySequence 315.113 ns 315.008 ns 310.345 ns 323.931 ns 1.00 - 0.3972 - - 4064 B 1.00
BclTypesTest MemoryPackDeserializeReadOnlySequence 317.419 ns 317.776 ns 305.523 ns 333.488 ns 1.01 - 0.3972 - - 4064 B 1.00
BclTypesTest NinoDeserializeStringBuilder 142.165 ns 142.824 ns 136.218 ns 146.492 ns 1.00 - 0.2062 0.0005 - 2072 B 1.00
BclTypesTest MemoryPackDeserializeStringBuilder 159.211 ns 158.103 ns 153.225 ns 166.988 ns 1.12 - 0.2060 0.0005 - 2072 B 1.00
BclTypesTest NinoDeserializeTimeZoneInfo 14.615 ns 14.559 ns 14.040 ns 15.582 ns 1.00 - 0.0042 - - 32 B 1.00
BclTypesTest MemoryPackDeserializeTimeZoneInfo 354.476 ns 332.383 ns 322.380 ns 403.409 ns 24.27 - 0.0892 - - 680 B 21.25
VersionTolerantTest NinoDeserializeTolerantClass 505.780 ns 508.006 ns 479.608 ns 552.328 ns 1.00 - 0.2289 - - 2528 B 1.00
VersionTolerantTest MemoryPackDeserializeTolerantClass 814.258 ns 807.291 ns 773.248 ns 870.883 ns 1.61 - 0.2470 - - 2528 B 1.00
VersionTolerantTest NinoSerializeTolerantClass 107.199 ns 107.325 ns 106.311 ns 107.912 ns 1.00 1,108 B - - - - NA
VersionTolerantTest MemoryPackSerializeTolerantClass 512.661 ns 508.397 ns 504.257 ns 526.816 ns 4.78 1,164 B - - - - NA
VersionTolerantTest NinoDeserializeTolerantClasses 52,947.890 ns 52,793.590 ns 49,396.534 ns 59,091.720 ns 1.00 - 17.8223 5.6763 - 253624 B 1.00
VersionTolerantTest MemoryPackDeserializeTolerantClasses 84,174.646 ns 83,936.989 ns 79,833.336 ns 89,762.256 ns 1.59 - 17.8223 5.3711 - 253624 B 1.00
VersionTolerantTest NinoSerializeTolerantClasses 12,350.821 ns 12,383.778 ns 12,036.700 ns 12,639.153 ns 1.00 110,804 B - - - - NA
VersionTolerantTest MemoryPackSerializeTolerantClasses 52,633.741 ns 52,464.395 ns 51,493.655 ns 53,887.080 ns 4.26 116,404 B - - - - NA
BclTypesTest NinoDeserializeUri 104.155 ns 104.652 ns 101.574 ns 107.102 ns 1.00 - 0.0242 - - 184 B 1.00
BclTypesTest MemoryPackDeserializeUri 121.344 ns 119.829 ns 117.679 ns 128.772 ns 1.17 - 0.0267 0.0002 0.0002 - 0.00
BclTypesTest NinoDeserializeVersion 7.207 ns 7.200 ns 7.027 ns 7.438 ns 1.00 - 0.0032 - - 32 B 1.00
BclTypesTest MemoryPackDeserializeVersion 18.079 ns 18.053 ns 17.875 ns 18.532 ns 2.51 - 0.0063 - - 32 B 1.00
CollectionsTest NinoDeserializeConcurrentDictionary 15,535.08 ns 15,519.54 ns 15,104.10 ns 16,032.12 ns 1.00 - 4.6082 0.3967 - 49184 B 1.00
CollectionsTest MemoryPackDeserializeConcurrentDictionary 56,058.07 ns 56,259.52 ns 54,948.89 ns 57,213.07 ns 3.61 - 12.2681 2.1973 - 141032 B 2.87
CollectionsTest NinoSerializeConcurrentDictionary 2,386.95 ns 2,410.91 ns 2,291.69 ns 2,477.88 ns 1.00 8,004 B - - - - NA
CollectionsTest MemoryPackSerializeConcurrentDictionary 3,878.70 ns 3,876.76 ns 3,858.47 ns 3,907.00 ns 1.63 8,004 B - - - - NA
CollectionsTest NinoDeserializeHashSet 5,694.68 ns 5,620.28 ns 5,545.17 ns 6,001.85 ns 1.00 - 1.7700 0.0458 - 17768 B 1.00
CollectionsTest MemoryPackDeserializeHashSet 6,539.04 ns 6,521.90 ns 6,457.35 ns 6,693.99 ns 1.15 - 1.7700 0.0458 - 17768 B 1.00
CollectionsTest NinoSerializeHashSet 1,055.63 ns 1,054.28 ns 1,050.84 ns 1,061.25 ns 1.00 4,004 B - - - - NA
CollectionsTest MemoryPackSerializeHashSet 8,453.23 ns 8,453.11 ns 8,434.58 ns 8,475.26 ns 8.01 4,004 B - - - - NA
CollectionsTest NinoDeserializeKeyValuePairs 433.08 ns 432.68 ns 424.73 ns 442.24 ns 1.00 - 0.7768 - - 8024 B 1.00
CollectionsTest MemoryPackDeserializeKeyValuePairs 460.56 ns 461.17 ns 441.99 ns 477.21 ns 1.06 - 0.7768 - - 8024 B 1.00
CollectionsTest NinoSerializeKeyValuePairs 92.61 ns 92.45 ns 91.25 ns 94.44 ns 1.00 8,004 B - - - - NA
CollectionsTest MemoryPackSerializeKeyValuePairs 92.68 ns 92.53 ns 92.36 ns 93.22 ns 1.00 8,004 B - - - - NA
PooledGraphTest NinoLeavesNew 3,171.36 ns 3,129.96 ns 3,019.98 ns 3,372.74 ns 1.00 - 1.1711 0.0229 - 13656 B 1.00
PooledGraphTest NinoLeavesPooledElements 3,466.67 ns 3,153.28 ns 3,084.80 ns 4,139.59 ns 1.09 - 0.0839 - - 856 B 0.06
PooledGraphTest NinoLeavesInPlace 486.01 ns 485.43 ns 482.27 ns 491.27 ns 0.15 - - - - - 0.00
PooledGraphTest MemoryPackLeavesNew 3,860.60 ns 3,725.81 ns 3,667.95 ns 4,213.45 ns 1.22 - 1.2360 0.0229 - 13656 B 1.00
PooledGraphTest MemoryPackLeavesOverwrite 5,589.72 ns 5,611.45 ns 5,454.19 ns 5,686.08 ns 1.77 - 1.2589 0.0076 - 12800 B 0.94
CollectionsTest NinoDeserializeLinkedList 14,363.30 ns 14,496.52 ns 13,432.76 ns 15,108.32 ns 1.00 - 4.6082 0.3967 - 48040 B 1.00
CollectionsTest MemoryPackDeserializeLinkedList 14,311.74 ns 14,449.43 ns 13,800.11 ns 14,671.38 ns 1.00 - 4.6387 0.3815 - 48040 B 1.00
CollectionsTest NinoSerializeLinkedList 1,559.32 ns 1,561.85 ns 1,544.73 ns 1,568.72 ns 1.00 4,004 B - - - - NA
CollectionsTest MemoryPackSerializeLinkedList 8,250.88 ns 7,842.80 ns 7,830.66 ns 9,147.36 ns 5.29 4,004 B - - - - NA
PooledGraphTest NinoNodeNew 581.33 ns 577.53 ns 560.78 ns 612.83 ns 1.00 - 0.1974 - - 2192 B 1.00
PooledGraphTest NinoNodePooled 205.50 ns 204.56 ns 203.17 ns 208.31 ns 0.35 - - - - - 0.00
PooledGraphTest MemoryPackNodeNew 686.57 ns 676.80 ns 645.11 ns 733.75 ns 1.18 - 0.2146 - - 2192 B 1.00
PooledGraphTest MemoryPackNodeOverwrite 597.39 ns 597.58 ns 588.97 ns 611.18 ns 1.03 - 0.1345 - - 1024 B 0.47
PooledGraphTest NinoPlainNew 2,918.45 ns 2,905.84 ns 2,759.38 ns 3,140.69 ns 1.00 - 1.0452 0.0191 - 12856 B 1.00
PooledGraphTest MemoryPackPlainNew 4,101.40 ns 4,086.76 ns 3,917.59 ns 4,298.28 ns 1.41 - 1.2131 0.0153 - 12856 B 1.00
CollectionsTest NinoDeserializeQueue 267.35 ns 266.53 ns 263.45 ns 278.61 ns 1.00 - 0.4058 0.0019 - 4064 B 1.00
CollectionsTest MemoryPackDeserializeQueue 3,549.70 ns 3,546.85 ns 3,532.52 ns 3,574.95 ns 13.28 - 0.8011 0.0076 - 4064 B 1.00
CollectionsTest NinoSerializeQueue 56.37 ns 56.24 ns 55.17 ns 57.44 ns 1.00 4,004 B - - - - NA
CollectionsTest MemoryPackSerializeQueue 8,361.87 ns 8,443.15 ns 8,124.37 ns 8,517.45 ns 148.36 4,004 B - - - - NA
CollectionsTest NinoDeserializeSortedList 1,938.81 ns 1,937.78 ns 1,920.69 ns 1,959.36 ns 1.00 - 0.7706 0.0076 - 8112 B 1.00
CollectionsTest MemoryPackDeserializeSortedList 15,271.20 ns 15,262.37 ns 15,166.07 ns 15,432.60 ns 7.88 - 0.9460 0.0305 0.0305 - 0.00
CollectionsTest NinoSerializeSortedList 1,879.94 ns 1,878.93 ns 1,876.76 ns 1,894.32 ns 1.00 8,004 B - - - - NA
CollectionsTest MemoryPackSerializeSortedList 3,381.82 ns 3,386.78 ns 3,350.81 ns 3,405.95 ns 1.80 8,004 B - - - - NA
CollectionsTest NinoDeserializeTupleList 1,217.23 ns 1,215.92 ns 1,205.22 ns 1,248.82 ns 1.00 - 1.6384 - - 16056 B 1.00
CollectionsTest MemoryPackDeserializeTupleList 1,075.87 ns 1,078.91 ns 1,052.93 ns 1,096.00 ns 0.88 - 1.6422 0.0458 - 16056 B 1.00
CollectionsTest NinoSerializeTupleList 387.96 ns 381.97 ns 379.46 ns 402.34 ns 1.00 12,004 B - - - - NA
CollectionsTest MemoryPackSerializeTupleList 231.65 ns 229.66 ns 228.91 ns 236.46 ns 0.60 16,004 B - - - - NA

The classes ran in parallel, each on its own runner (a class's Nino and MemoryPack cases on one):

  • PooledTest, SimpleTest: AMD EPYC 7763 2.59GHz, 1 CPU, 4 logical and 2 physical cores
  • CommonTypesTest, FixedSizeTest: AMD EPYC 7763 3.17GHz, 1 CPU, 4 logical and 2 physical cores
  • BclTypesTest, PolymorphicTest: AMD EPYC 7763 2.65GHz, 1 CPU, 4 logical and 2 physical cores
  • BclTypesTest, ReferenceTest, VersionTolerantTest: AMD EPYC 7763 2.63GHz, 1 CPU, 4 logical and 2 physical cores
  • CollectionsTest, PooledGraphTest: AMD EPYC 7763 2.67GHz, 1 CPU, 4 logical and 2 physical cores

Benchmark generated automatically on 2026-10-19 03:31:13 UTC