Skip to content

v4.0.0-rc.5

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 18 Oct 12:16
· 1169 commits to main since this release

Install: dotnet add package Nino --version 4.0.0-rc.5 (Unity package: 4.0.0-preview.205)

New

  • Built-in formatters for BigInteger, Uri, Version, StringBuilder, BitArray, CultureInfo, TimeZoneInfo, Lazy<T>, Memory<T>, ReadOnlyMemory<T>, ReadOnlySequence<T>, ReadOnlyCollection<T>, ReadOnlyObservableCollection<T>, ILookup<TKey, TElement>, IGrouping<TKey, TElement> and BlockingCollection<T>; Nino.Immutable adds ImmutableHashSet, ImmutableSortedSet, ImmutableQueue, ImmutableStack, ImmutableDictionary and ImmutableSortedDictionary.
  • Unity's AnimationCurve, Gradient and RectOffset serialize out of the box, as members, elements and top-level values, null and ref reuse included: the Unity package ships Nino.UnityTypes.dll with their formatters.

Performance

  • Stack<T>, Queue<T> and collections declared as interfaces (IList<T>, IEnumerable<T>, ...) of unmanaged values or raw [NinoType] structs are written and read as one block: with 1,000 ints, 17× to 75× faster to serialize and 2.5× to 6× faster to deserialize. The bytes are unchanged.
  • Arrays and lists of [NinoType] structs keep the generated formatter after the struct was serialized on its own: InventoryItem[1000] (int, short, bool) serializes in 0.11 µs instead of 1.7 µs and deserializes in 0.7 µs instead of 2.6 µs. Short strings and small blocks are copied inline: List<KeyValuePair<int, string>> serializes in 3.6 µs instead of 4.7 µs.
  • ConcurrentDictionary<,> deserializes 28× faster (1,000 int pairs: 66 µs instead of 1.88 ms), and SortedDictionary<,> 1.8× faster (53 µs instead of 96 µs), on par with MemoryPack.
  • Reading strings is faster on .NET 8 and later: a string of 3 to 12 chars takes 12 to 14 ns instead of 16 to 19, so types with many short strings deserialize 3 to 7% faster (string dictionaries 7%, trees of named nodes 5%).
  • Serializing and deserializing classes and structs with nested members is faster: a list of players serializes 19% faster and deserializes 8% faster, lists of small classes 5 to 8%, orders 6% and trees 6 to 10%.
  • Reading a new List of unmanaged values or raw structs of 6 KB or more no longer clears its backing array first: a list of 10,000 ints deserializes about 15% faster (4.7 to 4.0 µs).
  • ImmutableArray and ImmutableList (Nino.Immutable) are much faster: an ImmutableArray of 1,000 serializes 13× faster (1,075 to 83 ns) and deserializes 8× faster (2.7 to 0.34 µs), ImmutableArray deserializes 11% faster, and an ImmutableList of 1,000 deserializes 3.6× faster (62 to 17.5 µs) and serializes 7% faster.
  • Arrays and lists of value tuples and KeyValuePairs of unmanaged values are written and read as one block: 1,000 (int, int) or KeyValuePair<int, int> serialize 16× to 19× faster (1.1-1.3 µs to 68 ns, MemoryPack 93 ns) and deserialize 2.5× to 3× faster; a List<(int, long)> of 1,000 serializes 5.4× faster (1,246 to 231 ns) and deserializes 2× faster.
  • Deserializing a ConcurrentDictionary<TKey, TValue> is about 4x faster (1,000 int pairs: 65 µs to 15 µs, 4.2x MemoryPack's time).
  • Deserializing a new ConcurrentStack<T> is about 1.9x faster (1,000 ints: 17.9 µs to 9.3 µs, half of MemoryPack's time).
  • DateTimeOffset is read and written through its two fields, and arrays and lists of it as one block: with 1,000 values, 2.9x faster to serialize and 2x faster to deserialize. The bytes are unchanged.
  • The body of a small class (at most eight members, at most two of them needing a formatter call) is inlined into collection loops, also when the class is not sealed: a list of such a class serializes about 2x faster and deserializes about 1.3x faster.
  • Blocks of 64 bytes to 8 KB are written with 64-byte vectors on CPUs with AVX-512 (up to 1.5x faster), and arrays of padded structs with a 64-byte masked copy: 1,000 structs of int, short and bool serialize 1.6x faster.
  • Structs with a string or another non-raw member are passed to their generated body by reference: a list of 1,000 structs of four longs, a string and an int serializes 2x faster.
  • SortedSet, SortedDictionary, SortedList, LinkedList and ConcurrentDictionary are read and written through their own fields and methods: with 1,000 elements, a SortedList deserializes 5.5x faster and a SortedSet serializes and deserializes 2x faster.
  • On x64 CPUs without AVX-512, blocks of 256 bytes to 4 KB are copied with 32-byte vectors (2,500 bytes in 24.6 ns instead of 36.3); on Arm64, arrays of value tuples, KeyValuePairs and raw structs of up to 8 bytes are rearranged 64 bytes at a time, and on .NET 10 the 16-byte shuffle runs with WebAssembly SIMD too.

Fixes

  • On .NET Framework and Mono, List<T> was written empty and a list read into was left broken: the layout of each collection whose fields Nino uses is now checked once at startup, with a fallback to its public methods.

Every change between v4 releases: Changelog.

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

37 commits

✨ Features

📦 Runtime, generator and analyzer

⚡ Performance

🐛 Fixes

🧪 Tests

🔧 Build, CI and dependencies

Contributors

Thanks to everyone who contributed to this release: @JasonXuDeveloper

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

📊 v3 3.3.13 vs v4 (same machine)

Nino v3 3.3.13 (NuGet) against v4.0.0-rc.5, 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 1 --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 178.77 ns 107.32 ns 0.60x 382.97 ns 392.24 ns
SerializeSimpleClasses 25.86 μs 11.89 μs 0.46x 38.67 μs 38.90 μs
SerializeSimpleStruct 3.51 ns 4.53 ns 1.29x 5.09 ns 5.12 ns
SerializeSimpleStructs 20.33 ns 22.22 ns 1.09x 21.11 ns 26.40 ns
SerializeVectors 3.23 μs 3.56 μs 1.10x 3.40 μs 3.38 μs
SerializeFixedClass - 9.38 ns - 24.22 ns -
SerializeFixedClasses - 798.85 ns - 1.75 μs -
SerializeFixedStruct - 9.24 ns - 9.39 ns -
SerializeInventory - 90.02 ns - 94.30 ns -
SerializeOrders - 9.70 μs - 15.31 μs -
SerializePlayers - 9.83 μs - 25.44 μs -
SerializeShapes - 1.84 μs - 23.30 μs -
SerializeStringDictionary - 7.65 μs - 31.59 μs -
SerializeTree - 11.12 μs - 20.15 μs -
SerializeBigInteger - 13.18 ns - - -
SerializeBitArray - 25.32 ns - - -
SerializeBlockingCollection - 5.41 μs - 11.53 μs -
SerializeCultureInfo - 5.23 ns - 26.30 ns -
SerializeImmutableDictionary - 19.59 μs - 23.43 μs -
SerializeImmutableHashSet - 15.36 μs - 21.65 μs -
SerializeImmutableQueue - 1.95 μs - 8.59 μs -
SerializeImmutableSortedDictionary - 9.27 μs - 9.82 μs -
SerializeImmutableSortedSet - 7.87 μs - 19.22 μs -
SerializeImmutableStack - 4.24 μs - 15.74 μs -
SerializeLazy - 6.86 ns - 47.39 ns -
SerializeLookup - 2.58 μs - 9.75 μs -
SerializeMemory - 53.80 ns - 71.71 ns -
SerializePolymorphicClassArray - 79.36 μs - 420.02 μs -
SerializePolymorphicClass - 6.86 μs - 35.45 μs -
SerializePolymorphicFooArray - 6.64 μs - 50.94 μs -
SerializeReadOnlyCollection - 2.39 μs - 8.54 μs -
SerializeReadOnlySequence - 57.65 ns - 73.67 ns -
SerializeStringBuilder - 30.67 ns - 50.63 ns -
SerializeTimeZoneInfo - 6.78 ns - 272.73 ns -
SerializeTolerantClass - 114.28 ns - 520.46 ns -
SerializeTolerantClasses - 12.45 μs - 51.72 μs -
SerializeUri - 6.54 ns - 31.07 ns -
SerializeVersion - 4.58 ns - 22.13 ns -
SerializeConcurrentDictionary - 1.18 μs - 2.06 μs -
SerializeGraph - 2.77 μs - 16.20 μs -
SerializeHashSet - 617.07 ns - 4.21 μs -
SerializeKeyValuePairs - 38.35 ns - 39.61 ns -
SerializeLinkedList - 932.97 ns - 4.38 μs -
SerializeQueue - 31.97 ns - 4.25 μs -
SerializeSortedList - 905.92 ns - 1.89 μs -
SerializeTupleList - 111.18 ns - 109.50 ns -
DeserializeNew - 458.42 ns - 732.48 ns -
DeserializePooled - 295.63 ns - - -
DeserializeSimpleClass 544.42 ns 439.49 ns 0.81x 728.65 ns 719.80 ns
DeserializeSimpleClasses 58.67 μs 46.30 μs 0.79x 73.13 μs 69.98 μs
DeserializeSimpleStruct 0.70 ns 0.77 ns 1.11x 1.47 ns 1.47 ns
DeserializeSimpleStructs 86.73 ns 86.47 ns 1.00x 98.18 ns 99.10 ns
DeserializeVectors 122.76 μs 117.78 μs 0.96x 120.02 μs 123.49 μs
DeserializeFixedClass - 9.34 ns - 21.60 ns -
DeserializeFixedClasses - 1.09 μs - 1.29 μs -
DeserializeFixedStruct - 0.39 ns - 1.03 ns -
DeserializeInventory - 434.06 ns - 447.70 ns -
DeserializeOrders - 28.72 μs - 33.96 μs -
DeserializePlayers - 31.00 μs - 44.03 μs -
DeserializeShapes - 10.22 μs - 16.20 μs -
DeserializeStringDictionary - 37.49 μs - 59.07 μs -
DeserializeTree - 48.79 μs - 66.71 μs -
DeserializeBigInteger - 35.72 ns - - -
DeserializeBitArray - 47.95 ns - - -
DeserializeBlockingCollection - 5.15 μs - 28.96 μs -
DeserializeCultureInfo - 46.96 ns - 62.92 ns -
DeserializeImmutableDictionary - 120.97 μs - 112.07 μs -
DeserializeImmutableHashSet - 92.93 μs - 104.27 μs -
DeserializeImmutableQueue - 7.50 μs - 9.17 μs -
DeserializeImmutableSortedDictionary - 53.27 μs - 116.73 μs -
DeserializeImmutableSortedSet - 18.27 μs - 83.99 μs -
DeserializeImmutableStack - 7.41 μs - 9.26 μs -
DeserializeLazy - 18.77 ns - 38.38 ns -
DeserializeLookup - 590.28 ns - 812.02 ns -
DeserializeMemory - 251.81 ns - 317.40 ns -
DeserializePolymorphicClassArray - 239.43 μs - 366.57 μs -
DeserializePolymorphicClass - 16.42 μs - 28.78 μs -
DeserializePolymorphicFooArray - 15.09 μs - 28.04 μs -
DeserializeReadOnlyCollection - 264.91 ns - 306.94 ns -
DeserializeReadOnlySequence - 275.21 ns - 310.73 ns -
DeserializeStringBuilder - 141.39 ns - 155.53 ns -
DeserializeTimeZoneInfo - 12.21 ns - 319.18 ns -
DeserializeTolerantClass - 440.77 ns - 763.12 ns -
DeserializeTolerantClasses - 46.25 μs - 75.89 μs -
DeserializeUri - 100.36 ns - 115.86 ns -
DeserializeVersion - 6.84 ns - 18.01 ns -
DeserializeConcurrentDictionary - 8.17 μs - 34.21 μs -
DeserializeGraph - 2.97 μs - 10.92 μs -
DeserializeHashSet - 2.94 μs - 3.47 μs -
DeserializeKeyValuePairs - 198.05 ns - 200.77 ns -
LeavesNew - 1.84 μs - 1.90 μs -
LeavesPooledElements - 1.51 μs - - -
LeavesInPlace - 280.21 ns - - -
DeserializeLinkedList - 9.12 μs - 8.92 μs -
NodeNew - 276.12 ns - 315.16 ns -
NodePooled - 91.14 ns - - -
PlainNew - 1.56 μs - 1.82 μs -
DeserializeQueue - 129.14 ns - 1.91 μs -
DeserializeSortedList - 934.26 ns - 8.22 μs -
DeserializeTupleList - 452.51 ns - 480.38 ns -

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

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

📊 Performance Report

Click to expand benchmark results

BenchmarkDotNet v0.15.8, Linux Ubuntu 26.04.1 LTS (Resolute Raccoon)
AMD EPYC 7763 2.62GHz, 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=1  WarmupCount=5  

Type Method Mean Min Max Ratio Payload Gen0 Gen1 Gen2 Allocated Alloc Ratio
PooledTest NinoDeserializeNew 458.4233 ns 452.4613 ns 471.0810 ns 1.00 - 0.2313 0.0005 - 2536 B 1.00
PooledTest NinoDeserializePooled 295.6344 ns 295.1845 ns 296.0409 ns 0.64 - - - - - 0.00
PooledTest MemoryPackDeserializeNew 732.4786 ns 723.0288 ns 738.0784 ns 1.60 - 0.2489 - - 2536 B 1.00
PooledTest MemoryPackDeserializeOverwrite 622.3465 ns 613.8465 ns 641.3246 ns 1.36 - 0.1421 - - 1080 B 0.43
SimpleTest NinoDeserializeSimpleClass 439.4920 ns 432.4484 ns 446.9412 ns 1.00 - 0.2246 0.0005 - 2528 B 1.00
SimpleTest MemoryPackDeserializeSimpleClass 728.6529 ns 720.7179 ns 738.1123 ns 1.66 - 0.2460 - - 2528 B 1.00
SimpleTest MessagePackDeserializeSimpleClass 1,792.9942 ns 1,787.2525 ns 1,806.2812 ns 4.08 - 0.3319 0.0019 - 2528 B 1.00
SimpleTest NinoSerializeSimpleClass 107.3227 ns 107.2377 ns 107.3910 ns 1.00 1,150 B - - - - NA
SimpleTest MemoryPackSerializeSimpleClass 382.9667 ns 382.8175 ns 383.1844 ns 3.57 1,148 B - - - - NA
SimpleTest MessagePackSerializeSimpleClass 1,114.8387 ns 1,111.2400 ns 1,121.3156 ns 10.39 1,112 B - - - - NA
SimpleTest NinoDeserializeSimpleClasses 46,295.4322 ns 45,710.4266 ns 47,029.2079 ns 1.00 - 17.8833 5.7373 - 253624 B 1.00
SimpleTest MemoryPackDeserializeSimpleClasses 73,127.2108 ns 72,072.8093 ns 74,929.0689 ns 1.58 - 17.2119 5.4932 - 253624 B 1.00
SimpleTest MessagePackDeserializeSimpleClasses 190,116.3142 ns 188,825.1985 ns 192,314.7754 ns 4.11 - 18.3105 5.6152 - 253624 B 1.00
SimpleTest NinoSerializeSimpleClasses 11,888.7419 ns 11,839.9685 ns 12,021.0294 ns 1.00 115,004 B - - - - NA
SimpleTest MemoryPackSerializeSimpleClasses 38,671.3647 ns 38,293.3707 ns 39,186.8202 ns 3.25 114,804 B - - - - NA
SimpleTest MessagePackSerializeSimpleClasses 113,440.9441 ns 113,323.6672 ns 113,488.9288 ns 9.54 111,203 B - - - - NA
SimpleTest NinoDeserializeSimpleStruct 0.7744 ns 0.7713 ns 0.7781 ns 1.00 - - - - - NA
SimpleTest MemoryPackDeserializeSimpleStruct 1.4696 ns 1.4667 ns 1.4733 ns 1.90 - - - - - NA
SimpleTest MessagePackDeserializeSimpleStruct 76.2440 ns 76.1376 ns 76.3384 ns 98.46 - - - - - NA
SimpleTest NinoSerializeSimpleStruct 4.5298 ns 4.5252 ns 4.5348 ns 1.00 12 B - - - - NA
SimpleTest MemoryPackSerializeSimpleStruct 5.0926 ns 5.0863 ns 5.0969 ns 1.12 12 B - - - - NA
SimpleTest MessagePackSerializeSimpleStruct 57.4728 ns 57.3543 ns 57.8093 ns 12.69 16 B - - - - NA
SimpleTest NinoDeserializeSimpleStructs 86.4745 ns 85.9469 ns 87.7961 ns 1.00 - 0.1214 - - 1224 B 1.00
SimpleTest MemoryPackDeserializeSimpleStructs 98.1823 ns 97.6426 ns 99.1681 ns 1.14 - 0.1214 - - 1224 B 1.00
SimpleTest MessagePackDeserializeSimpleStructs 3,468.4873 ns 3,443.1195 ns 3,496.7585 ns 40.11 - 0.4578 - - 1224 B 1.00
SimpleTest NinoSerializeSimpleStructs 22.2223 ns 22.1361 ns 22.3460 ns 1.00 1,204 B - - - - NA
SimpleTest MemoryPackSerializeSimpleStructs 21.1085 ns 21.0605 ns 21.1433 ns 0.95 1,204 B - - - - NA
SimpleTest MessagePackSerializeSimpleStructs 3,596.8270 ns 3,592.4142 ns 3,607.5204 ns 161.86 1,603 B - - - - NA
SimpleTest NinoDeserializeVectors 117,777.0082 ns 105,994.2424 ns 122,368.0876 ns 1.00 - 16.8457 16.8457 16.8457 160033 B 1.00
SimpleTest MemoryPackDeserializeVectors 120,023.4465 ns 107,409.7055 ns 126,345.6501 ns 1.02 - 16.7236 16.7236 16.7236 160033 B 1.00
SimpleTest MessagePackDeserializeVectors 382,618.5554 ns 372,615.7427 ns 394,719.3154 ns 3.25 - 16.6016 16.6016 16.6016 1016506 B 6.35
SimpleTest NinoSerializeVectors 3,561.2819 ns 3,551.0668 ns 3,574.9965 ns 1.00 160,004 B - - - - NA
SimpleTest MemoryPackSerializeVectors 3,398.9624 ns 3,393.8005 ns 3,401.9700 ns 0.95 160,004 B - - - - NA
SimpleTest MessagePackSerializeVectors 165,063.4622 ns 164,936.0234 ns 165,355.1099 ns 46.35 210,003 B - - - - NA
FixedSizeTest NinoDeserializeFixedClass 9.3423 ns 9.1507 ns 9.5260 ns 1.00 - 0.0055 - - 56 B 1.00
FixedSizeTest MemoryPackDeserializeFixedClass 21.6004 ns 21.5220 ns 21.7139 ns 2.31 - 0.0074 - - 56 B 1.00
FixedSizeTest NinoSerializeFixedClass 9.3849 ns 9.2738 ns 9.5645 ns 1.00 41 B 0.0060 - - 72 B 1.00
FixedSizeTest MemoryPackSerializeFixedClass 24.2195 ns 23.9738 ns 24.6079 ns 2.58 41 B 0.0094 - - 72 B 1.00
FixedSizeTest NinoDeserializeFixedClasses 1,085.8551 ns 1,061.2920 ns 1,107.9866 ns 1.00 - 0.5417 0.0038 - 6424 B 1.00
FixedSizeTest MemoryPackDeserializeFixedClasses 1,288.6002 ns 1,279.9289 ns 1,301.0640 ns 1.19 - 0.5455 0.0038 - 6424 B 1.00
FixedSizeTest NinoSerializeFixedClasses 798.8505 ns 787.0186 ns 808.8215 ns 1.00 4,104 B 0.3557 - - 4128 B 1.00
FixedSizeTest MemoryPackSerializeFixedClasses 1,747.6687 ns 1,734.6926 ns 1,776.4546 ns 2.19 4,104 B 0.5341 - - 4128 B 1.00
FixedSizeTest NinoDeserializeFixedStruct 0.3914 ns 0.3897 ns 0.3929 ns 1.00 - - - - - NA
FixedSizeTest MemoryPackDeserializeFixedStruct 1.0281 ns 1.0246 ns 1.0351 ns 2.63 - - - - - NA
FixedSizeTest NinoSerializeFixedStruct 9.2389 ns 9.1020 ns 9.4996 ns 1.00 40 B 0.0059 - - 64 B 1.00
FixedSizeTest MemoryPackSerializeFixedStruct 9.3851 ns 9.1771 ns 9.5894 ns 1.02 40 B 0.0058 - - 64 B 1.00
CommonTypesTest NinoDeserializeInventory 434.0645 ns 428.3078 ns 444.9607 ns 1.00 - 0.7768 - - 8024 B 1.00
CommonTypesTest MemoryPackDeserializeInventory 447.6960 ns 444.2398 ns 451.0479 ns 1.03 - 0.7768 - - 8024 B 1.00
CommonTypesTest NinoSerializeInventory 90.0202 ns 89.9114 ns 90.1549 ns 1.00 8,004 B - - - - NA
CommonTypesTest MemoryPackSerializeInventory 94.2953 ns 94.1571 ns 94.4208 ns 1.05 8,004 B - - - - NA
CommonTypesTest NinoDeserializeOrders 28,721.5866 ns 28,406.1365 ns 29,082.8189 ns 1.00 - 7.9651 1.2512 - 88552 B 1.00
CommonTypesTest MemoryPackDeserializeOrders 33,964.9641 ns 33,722.1388 ns 34,435.4169 ns 1.18 - 7.9346 1.2207 - 88552 B 1.00
CommonTypesTest NinoSerializeOrders 9,698.7701 ns 9,689.7769 ns 9,712.7254 ns 1.00 30,848 B - - - - NA
CommonTypesTest MemoryPackSerializeOrders 15,312.7496 ns 15,291.8302 ns 15,345.7246 ns 1.58 27,990 B - - - - NA
CommonTypesTest NinoDeserializePlayers 30,997.0199 ns 30,638.5641 ns 31,445.0236 ns 1.00 - 10.0708 2.0752 - 120056 B 1.00
CommonTypesTest MemoryPackDeserializePlayers 44,032.7072 ns 43,533.2760 ns 44,654.5059 ns 1.42 - 10.0098 2.3193 - 120056 B 1.00
CommonTypesTest NinoSerializePlayers 9,831.3801 ns 9,826.4823 ns 9,836.7270 ns 1.00 45,124 B - - - - NA
CommonTypesTest MemoryPackSerializePlayers 25,435.1307 ns 25,401.6054 ns 25,513.7885 ns 2.59 43,364 B - - - - NA
CommonTypesTest NinoDeserializeShapes 10,216.2161 ns 10,124.6855 ns 10,352.6010 ns 1.00 - 3.3722 0.2136 - 36056 B 1.00
CommonTypesTest MemoryPackDeserializeShapes 16,195.9318 ns 15,878.9041 ns 16,815.4279 ns 1.59 - 3.5706 0.2136 - 36056 B 1.00
CommonTypesTest NinoSerializeShapes 1,842.0866 ns 1,840.9563 ns 1,842.8417 ns 1.00 14,004 B - - - - NA
CommonTypesTest MemoryPackSerializeShapes 23,300.3384 ns 23,268.6403 ns 23,348.0471 ns 12.65 12,004 B - - - - NA
CommonTypesTest NinoDeserializeStringDictionary 37,487.8074 ns 36,926.6668 ns 38,671.9428 ns 1.00 - 9.3994 1.7700 - 110216 B 1.00
CommonTypesTest MemoryPackDeserializeStringDictionary 59,069.0359 ns 58,306.3441 ns 60,183.1198 ns 1.58 - 9.8877 1.7700 - 110216 B 1.00
CommonTypesTest NinoSerializeStringDictionary 7,651.2305 ns 7,642.6802 ns 7,670.5636 ns 1.00 37,464 B - - - - NA
CommonTypesTest MemoryPackSerializeStringDictionary 31,585.0934 ns 31,561.9161 ns 31,603.7174 ns 4.13 30,734 B - - - - NA
CommonTypesTest NinoDeserializeTree 48,792.7023 ns 48,275.8236 ns 49,282.7678 ns 1.00 - 13.5498 3.6621 - 171872 B 1.00
CommonTypesTest MemoryPackDeserializeTree 66,705.2791 ns 65,801.6751 ns 68,717.9979 ns 1.37 - 13.4277 3.6621 - 171872 B 1.00
CommonTypesTest NinoSerializeTree 11,122.4163 ns 11,110.5023 ns 11,155.5349 ns 1.00 40,676 B - - - - NA
CommonTypesTest MemoryPackSerializeTree 20,145.8354 ns 20,002.2678 ns 20,237.6778 ns 1.81 32,623 B - - - - NA
BclTypesTest NinoDeserializeBigInteger 35.721 ns 34.954 ns 36.213 ns 1.00 - 0.0199 - - 256 B 1.00
BclTypesTest NinoSerializeBigInteger 13.178 ns 13.155 ns 13.204 ns 1.00 203 B - - - - NA
BclTypesTest NinoDeserializeBitArray 47.949 ns 47.215 ns 48.876 ns 1.00 - 0.0275 - - 336 B 1.00
BclTypesTest NinoSerializeBitArray 25.316 ns 25.262 ns 25.379 ns 1.00 129 B - - - - NA
BclTypesTest NinoDeserializeBlockingCollection 5,149.145 ns 5,124.416 ns 5,198.696 ns 1.00 - 1.2970 0.0153 - 12792 B 1.00
BclTypesTest MemoryPackDeserializeBlockingCollection 28,955.490 ns 28,641.070 ns 29,506.753 ns 5.62 - 2.4414 0.1221 - 17984 B 1.41
BclTypesTest NinoSerializeBlockingCollection 5,405.834 ns 5,345.071 ns 5,438.979 ns 1.00 4,004 B 0.4196 0.0153 0.0153 4096 B 1.00
BclTypesTest MemoryPackSerializeBlockingCollection 11,531.838 ns 11,510.348 ns 11,553.122 ns 2.13 4,004 B - - - 72 B 0.02
BclTypesTest NinoDeserializeCultureInfo 46.964 ns 46.094 ns 47.806 ns 1.00 - 0.0123 - - 64 B 1.00
BclTypesTest MemoryPackDeserializeCultureInfo 62.922 ns 61.905 ns 63.927 ns 1.34 - 0.0074 0.0001 0.0001 - 0.00
BclTypesTest NinoSerializeCultureInfo 5.229 ns 5.213 ns 5.241 ns 1.00 14 B - - - - NA
BclTypesTest MemoryPackSerializeCultureInfo 26.298 ns 26.269 ns 26.352 ns 5.03 13 B - - - - NA
BclTypesTest NinoDeserializeImmutableDictionary 120,973.834 ns 120,702.108 ns 121,374.364 ns 1.00 - 6.2256 0.3662 - 64064 B 1.00
BclTypesTest MemoryPackDeserializeImmutableDictionary 112,071.102 ns 111,784.190 ns 112,327.530 ns 0.93 - 9.2773 1.4648 0.1221 - 0.00
BclTypesTest NinoSerializeImmutableDictionary 19,585.689 ns 19,345.758 ns 19,958.864 ns 1.00 8,004 B - - - - NA
BclTypesTest MemoryPackSerializeImmutableDictionary 23,434.652 ns 23,373.576 ns 23,487.596 ns 1.20 8,004 B - - - - NA
BclTypesTest NinoDeserializeImmutableHashSet 92,927.575 ns 92,184.454 ns 94,260.544 ns 1.00 - 7.6904 0.8545 - 60072 B 1.00
BclTypesTest MemoryPackDeserializeImmutableHashSet 104,272.377 ns 103,843.362 ns 104,725.198 ns 1.12 - 5.7373 0.8545 0.2441 56104 B 0.93
BclTypesTest NinoSerializeImmutableHashSet 15,355.297 ns 15,306.611 ns 15,388.975 ns 1.00 4,004 B - - - - NA
BclTypesTest MemoryPackSerializeImmutableHashSet 21,649.730 ns 21,437.419 ns 22,030.892 ns 1.41 4,004 B - - - - NA
BclTypesTest NinoDeserializeImmutableQueue 7,498.660 ns 7,474.277 ns 7,541.688 ns 1.00 - 3.4637 0.1373 - 36064 B 1.00
BclTypesTest MemoryPackDeserializeImmutableQueue 9,167.492 ns 9,129.890 ns 9,258.132 ns 1.22 - 2.9907 0.0610 - 32112 B 0.89
BclTypesTest NinoSerializeImmutableQueue 1,949.514 ns 1,946.280 ns 1,952.813 ns 1.00 4,004 B - - - - NA
BclTypesTest MemoryPackSerializeImmutableQueue 8,593.306 ns 8,580.528 ns 8,612.452 ns 4.41 4,004 B - - - - NA
BclTypesTest NinoDeserializeImmutableSortedDictionary 53,265.534 ns 52,888.927 ns 53,780.035 ns 1.00 - 15.0757 1.8311 - 161056 B 1.00
BclTypesTest MemoryPackDeserializeImmutableSortedDictionary 116,734.130 ns 116,521.561 ns 117,221.741 ns 2.19 - 5.0049 0.4883 0.1221 - 0.00
BclTypesTest NinoSerializeImmutableSortedDictionary 9,266.484 ns 9,242.952 ns 9,283.711 ns 1.00 8,004 B - - - - NA
BclTypesTest MemoryPackSerializeImmutableSortedDictionary 9,815.718 ns 9,701.517 ns 9,897.895 ns 1.06 8,004 B - - - - NA
BclTypesTest NinoDeserializeImmutableSortedSet 18,265.582 ns 18,186.363 ns 18,334.302 ns 1.00 - 5.3711 0.2441 - 56112 B 1.00
BclTypesTest MemoryPackDeserializeImmutableSortedSet 83,991.161 ns 83,559.226 ns 84,476.338 ns 4.60 - 5.6152 0.8545 0.2441 - 0.00
BclTypesTest NinoSerializeImmutableSortedSet 7,872.375 ns 7,843.467 ns 7,900.079 ns 1.00 4,004 B - - - - NA
BclTypesTest MemoryPackSerializeImmutableSortedSet 19,221.573 ns 19,184.341 ns 19,278.309 ns 2.44 4,004 B - - - - NA
BclTypesTest NinoDeserializeImmutableStack 7,410.793 ns 7,376.981 ns 7,456.389 ns 1.00 - 3.3569 0.0763 - 36024 B 1.00
BclTypesTest MemoryPackDeserializeImmutableStack 9,257.014 ns 9,212.206 ns 9,313.865 ns 1.25 - 3.0212 0.0763 - 32040 B 0.89
BclTypesTest NinoSerializeImmutableStack 4,241.066 ns 4,214.684 ns 4,277.928 ns 1.00 4,004 B 1.1063 0.0153 - 8464 B 1.00
BclTypesTest MemoryPackSerializeImmutableStack 15,738.330 ns 15,595.778 ns 15,981.349 ns 3.71 4,004 B 0.5493 0.0305 0.0305 - 0.00
BclTypesTest NinoDeserializeLazy 18.765 ns 18.689 ns 18.910 ns 1.00 - 0.0099 - - 112 B 1.00
BclTypesTest MemoryPackDeserializeLazy 38.380 ns 38.166 ns 38.639 ns 2.05 - 0.0111 - - 112 B 1.00
BclTypesTest NinoSerializeLazy 6.855 ns 6.804 ns 6.890 ns 1.00 49 B - - - - NA
BclTypesTest MemoryPackSerializeLazy 47.392 ns 47.324 ns 47.444 ns 6.91 31 B - - - - NA
BclTypesTest NinoDeserializeLookup 590.277 ns 586.747 ns 598.996 ns 1.00 - 0.5102 0.0029 - 5152 B 1.00
BclTypesTest MemoryPackDeserializeLookup 812.018 ns 801.866 ns 832.394 ns 1.38 - 0.4740 0.0029 - 5576 B 1.08
BclTypesTest NinoSerializeLookup 2,577.489 ns 2,572.180 ns 2,585.403 ns 1.00 4,084 B 0.0305 - - 320 B 1.00
BclTypesTest MemoryPackSerializeLookup 9,747.399 ns 9,668.689 ns 9,857.342 ns 3.78 4,094 B 0.0305 - - 320 B 1.00
BclTypesTest NinoDeserializeMemory 251.805 ns 248.560 ns 253.624 ns 1.00 - 0.4058 - - 4056 B 1.00
BclTypesTest MemoryPackDeserializeMemory 317.403 ns 316.069 ns 318.764 ns 1.26 - 0.3972 0.0019 - 4056 B 1.00
BclTypesTest NinoSerializeMemory 53.799 ns 53.745 ns 53.850 ns 1.00 4,004 B - - - - NA
BclTypesTest MemoryPackSerializeMemory 71.709 ns 71.459 ns 72.331 ns 1.33 4,004 B - - - - NA
PolymorphicTest NinoDeserializePolymorphicClassArray 239,426.828 ns 233,915.090 ns 244,907.490 ns 1.00 - 31.7383 14.4043 - 745624 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicClassArray 366,574.075 ns 360,757.425 ns 372,383.845 ns 1.53 - 34.1797 15.1367 - 745624 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicClassArray 1,831,858.215 ns 1,805,842.613 ns 1,855,198.270 ns 7.65 - 50.7813 25.3906 1.9531 - 0.00
PolymorphicTest NinoSerializePolymorphicClassArray 79,357.193 ns 79,149.257 ns 79,511.445 ns 1.00 397,304 B - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicClassArray 420,016.837 ns 415,845.399 ns 423,867.994 ns 5.29 384,404 B - - - - NA
PolymorphicTest MessagePackSerializePolymorphicClassArray 931,277.553 ns 918,973.874 ns 946,723.278 ns 11.74 487,099 B - - - - NA
PolymorphicTest NinoDeserializePolymorphicClass 16,420.092 ns 16,329.887 ns 16,524.883 ns 1.00 - 6.4087 0.9460 - 79688 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicClass 28,779.035 ns 28,677.787 ns 28,892.823 ns 1.75 - 7.4463 1.0681 - 79688 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicClass 226,122.953 ns 223,640.376 ns 229,818.697 ns 13.77 - 10.0098 1.7090 - 83856 B 1.05
PolymorphicTest NinoSerializePolymorphicClass 6,857.292 ns 6,814.354 ns 6,908.401 ns 1.00 53,789 B - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicClass 35,446.234 ns 34,476.126 ns 36,554.381 ns 5.17 51,760 B - - - - NA
PolymorphicTest MessagePackSerializePolymorphicClass 124,693.730 ns 123,740.089 ns 126,601.738 ns 18.18 66,859 B - - - - NA
PolymorphicTest NinoDeserializePolymorphicFooArray 15,087.808 ns 14,939.813 ns 15,319.911 ns 1.00 - 6.1340 0.8087 - 76024 B 1.00
PolymorphicTest MemoryPackDeserializePolymorphicFooArray 28,042.340 ns 27,878.770 ns 28,229.931 ns 1.86 - 7.2021 0.9155 - 76024 B 1.00
PolymorphicTest MessagePackDeserializePolymorphicFooArray 215,687.137 ns 214,188.369 ns 217,532.682 ns 14.30 - 9.2773 1.7090 - 76024 B 1.00
PolymorphicTest NinoSerializePolymorphicFooArray 6,642.109 ns 6,623.558 ns 6,675.092 ns 1.00 52,404 B - - - - NA
PolymorphicTest MemoryPackSerializePolymorphicFooArray 50,938.355 ns 49,123.372 ns 51,640.959 ns 7.67 50,404 B - - - - NA
PolymorphicTest MessagePackSerializePolymorphicFooArray 123,768.405 ns 123,245.512 ns 124,441.652 ns 18.63 65,203 B - - - - NA
BclTypesTest NinoDeserializeReadOnlyCollection 264.914 ns 262.262 ns 266.959 ns 1.00 - 0.4058 - - 4048 B 1.00
BclTypesTest MemoryPackDeserializeReadOnlyCollection 306.943 ns 304.426 ns 308.923 ns 1.16 - 0.3967 0.0024 - 4048 B 1.00
BclTypesTest NinoSerializeReadOnlyCollection 2,386.002 ns 2,383.018 ns 2,388.334 ns 1.00 4,004 B 0.0038 - - 40 B 1.00
BclTypesTest MemoryPackSerializeReadOnlyCollection 8,535.364 ns 8,523.638 ns 8,549.151 ns 3.58 4,004 B - - - 40 B 1.00
BclTypesTest NinoDeserializeReadOnlySequence 275.212 ns 272.518 ns 279.174 ns 1.00 - 0.4058 0.0019 - 4064 B 1.00
BclTypesTest MemoryPackDeserializeReadOnlySequence 310.729 ns 309.449 ns 313.174 ns 1.13 - 0.3972 - - 4064 B 1.00
BclTypesTest NinoSerializeReadOnlySequence 57.653 ns 57.559 ns 57.764 ns 1.00 4,004 B - - - - NA
BclTypesTest MemoryPackSerializeReadOnlySequence 73.672 ns 73.443 ns 74.103 ns 1.28 4,004 B - - - - NA
BclTypesTest NinoDeserializeStringBuilder 141.391 ns 140.905 ns 141.803 ns 1.00 - 0.2062 0.0005 - 2072 B 1.00
BclTypesTest MemoryPackDeserializeStringBuilder 155.531 ns 154.062 ns 156.978 ns 1.10 - 0.2062 0.0005 - 2072 B 1.00
BclTypesTest NinoSerializeStringBuilder 30.670 ns 30.611 ns 30.771 ns 1.00 2,004 B - - - - NA
BclTypesTest MemoryPackSerializeStringBuilder 50.628 ns 50.538 ns 50.676 ns 1.65 2,004 B - - - - NA
BclTypesTest NinoDeserializeTimeZoneInfo 12.207 ns 12.101 ns 12.274 ns 1.00 - 0.0042 - - 32 B 1.00
BclTypesTest MemoryPackDeserializeTimeZoneInfo 319.181 ns 318.198 ns 321.034 ns 26.15 - 0.0892 - - 680 B 21.25
BclTypesTest NinoSerializeTimeZoneInfo 6.781 ns 6.768 ns 6.795 ns 1.00 14 B - - - - NA
BclTypesTest MemoryPackSerializeTimeZoneInfo 272.733 ns 271.761 ns 274.056 ns 40.22 102 B 0.0262 0.0005 0.0005 - NA
VersionTolerantTest NinoDeserializeTolerantClass 440.768 ns 438.723 ns 442.648 ns 1.00 - 0.2232 0.0005 - 2528 B 1.00
VersionTolerantTest MemoryPackDeserializeTolerantClass 763.121 ns 759.917 ns 766.918 ns 1.73 - 0.2489 - - 2528 B 1.00
VersionTolerantTest NinoSerializeTolerantClass 114.279 ns 114.174 ns 114.380 ns 1.00 1,154 B - - - - NA
VersionTolerantTest MemoryPackSerializeTolerantClass 520.460 ns 519.832 ns 521.531 ns 4.55 1,164 B - - - - NA
VersionTolerantTest NinoDeserializeTolerantClasses 46,248.212 ns 45,941.203 ns 46,690.457 ns 1.00 - 17.9443 5.6763 - 253624 B 1.00
VersionTolerantTest MemoryPackDeserializeTolerantClasses 75,886.444 ns 75,173.082 ns 76,478.072 ns 1.64 - 17.4561 5.2490 - 253624 B 1.00
VersionTolerantTest NinoSerializeTolerantClasses 12,447.386 ns 12,406.796 ns 12,573.351 ns 1.00 115,404 B - - - - NA
VersionTolerantTest MemoryPackSerializeTolerantClasses 51,718.375 ns 51,549.197 ns 52,087.168 ns 4.16 116,404 B - - - - NA
BclTypesTest NinoDeserializeUri 100.356 ns 100.032 ns 100.796 ns 1.00 - 0.0242 - - 184 B 1.00
BclTypesTest MemoryPackDeserializeUri 115.862 ns 114.840 ns 116.687 ns 1.15 - 0.0241 - - 184 B 1.00
BclTypesTest NinoSerializeUri 6.540 ns 6.520 ns 6.563 ns 1.00 108 B - - - - NA
BclTypesTest MemoryPackSerializeUri 31.071 ns 30.946 ns 31.282 ns 4.75 60 B - - - - NA
BclTypesTest NinoDeserializeVersion 6.844 ns 6.795 ns 6.948 ns 1.00 - 0.0032 - - 32 B 1.00
BclTypesTest MemoryPackDeserializeVersion 18.007 ns 17.903 ns 18.113 ns 2.63 - 0.0063 - - 32 B 1.00
BclTypesTest NinoSerializeVersion 4.585 ns 4.570 ns 4.598 ns 1.00 16 B - - - - NA
BclTypesTest MemoryPackSerializeVersion 22.132 ns 22.090 ns 22.162 ns 4.83 17 B - - - - NA
CollectionsTest NinoDeserializeConcurrentDictionary 8,166.70 ns 7,975.82 ns 8,609.30 ns 1.00 - 4.5013 0.4120 - 49184 B 1.00
CollectionsTest MemoryPackDeserializeConcurrentDictionary 34,212.64 ns 32,763.12 ns 36,117.78 ns 4.19 - 12.4512 2.1973 - 141032 B 2.87
CollectionsTest NinoSerializeConcurrentDictionary 1,184.61 ns 1,176.52 ns 1,207.58 ns 1.00 8,004 B - - - - NA
CollectionsTest MemoryPackSerializeConcurrentDictionary 2,056.08 ns 2,046.81 ns 2,063.82 ns 1.74 8,004 B - - - - NA
ReferenceTest NinoDeserializeGraph 2,967.68 ns 2,936.88 ns 3,003.05 ns 1.00 - 1.3962 0.0267 - 14104 B 1.00
ReferenceTest MemoryPackDeserializeGraph 10,924.27 ns 10,849.63 ns 10,996.31 ns 3.68 - 2.7618 0.1373 - 14104 B 1.00
ReferenceTest NinoSerializeGraph 2,773.22 ns 2,748.50 ns 2,809.63 ns 1.00 5,948 B - - - - NA
ReferenceTest MemoryPackSerializeGraph 16,199.34 ns 15,878.57 ns 16,708.80 ns 5.84 5,584 B - - - - NA
CollectionsTest NinoDeserializeHashSet 2,945.00 ns 2,814.89 ns 3,086.17 ns 1.00 - 1.7700 0.0381 - 17768 B 1.00
CollectionsTest MemoryPackDeserializeHashSet 3,466.15 ns 3,351.19 ns 3,518.17 ns 1.18 - 2.3575 0.1450 - 17768 B 1.00
CollectionsTest NinoSerializeHashSet 617.07 ns 609.73 ns 630.52 ns 1.00 4,004 B - - - - NA
CollectionsTest MemoryPackSerializeHashSet 4,206.55 ns 4,166.39 ns 4,279.45 ns 6.82 4,004 B - - - - NA
CollectionsTest NinoDeserializeKeyValuePairs 198.05 ns 191.48 ns 213.60 ns 1.00 - 0.7770 - - 8024 B 1.00
CollectionsTest MemoryPackDeserializeKeyValuePairs 200.77 ns 198.34 ns 204.14 ns 1.01 - 0.7768 - - 8024 B 1.00
CollectionsTest NinoSerializeKeyValuePairs 38.35 ns 38.16 ns 38.56 ns 1.00 8,004 B - - - - NA
CollectionsTest MemoryPackSerializeKeyValuePairs 39.61 ns 39.33 ns 40.20 ns 1.03 8,004 B - - - - NA
PooledGraphTest NinoLeavesNew 1,843.21 ns 1,789.58 ns 1,885.27 ns 1.00 - 1.3237 0.0267 - 13656 B 1.00
PooledGraphTest NinoLeavesPooledElements 1,510.85 ns 1,483.89 ns 1,565.52 ns 0.82 - 0.3262 - - 856 B 0.06
PooledGraphTest NinoLeavesInPlace 280.21 ns 278.06 ns 282.09 ns 0.15 - - - - - 0.00
PooledGraphTest MemoryPackLeavesNew 1,900.91 ns 1,865.30 ns 1,943.08 ns 1.03 - 1.3237 0.0229 - 13656 B 1.00
PooledGraphTest MemoryPackLeavesOverwrite 2,214.30 ns 2,181.53 ns 2,268.05 ns 1.20 - 1.2627 0.0076 - 12800 B 0.94
CollectionsTest NinoDeserializeLinkedList 9,121.39 ns 8,775.35 ns 9,609.78 ns 1.00 - 4.4708 0.3662 - 48040 B 1.00
CollectionsTest MemoryPackDeserializeLinkedList 8,922.79 ns 8,645.98 ns 9,164.75 ns 0.98 - 4.5776 0.3967 - 48040 B 1.00
CollectionsTest NinoSerializeLinkedList 932.97 ns 926.88 ns 947.35 ns 1.00 4,004 B - - - - NA
CollectionsTest MemoryPackSerializeLinkedList 4,380.65 ns 4,373.03 ns 4,399.84 ns 4.70 4,004 B - - - - NA
PooledGraphTest NinoNodeNew 276.12 ns 273.76 ns 278.16 ns 1.00 - 0.2160 - - 2192 B 1.00
PooledGraphTest NinoNodePooled 91.14 ns 88.63 ns 94.21 ns 0.33 - - - - - 0.00
PooledGraphTest MemoryPackNodeNew 315.16 ns 312.66 ns 318.17 ns 1.14 - 0.2165 - - 2192 B 1.00
PooledGraphTest MemoryPackNodeOverwrite 259.38 ns 256.39 ns 262.37 ns 0.94 - 0.1283 0.0005 0.0005 170 B 0.08
PooledGraphTest NinoPlainNew 1,563.12 ns 1,523.10 ns 1,642.07 ns 1.00 - 1.1940 0.0191 - 12856 B 1.00
PooledGraphTest MemoryPackPlainNew 1,816.67 ns 1,790.21 ns 1,839.88 ns 1.16 - 1.2569 0.0248 - 12856 B 1.00
CollectionsTest NinoDeserializeQueue 129.14 ns 127.83 ns 131.39 ns 1.00 - 0.4060 0.0026 - 4064 B 1.00
CollectionsTest MemoryPackDeserializeQueue 1,914.73 ns 1,904.86 ns 1,931.35 ns 14.83 - 0.8011 0.0114 - 4064 B 1.00
CollectionsTest NinoSerializeQueue 31.97 ns 31.94 ns 32.03 ns 1.00 4,004 B - - - - NA
CollectionsTest MemoryPackSerializeQueue 4,247.21 ns 4,199.42 ns 4,357.19 ns 132.86 4,004 B - - - - NA
CollectionsTest NinoDeserializeSortedList 934.26 ns 925.82 ns 950.48 ns 1.00 - 0.8068 0.0076 - 8112 B 1.00
CollectionsTest MemoryPackDeserializeSortedList 8,221.84 ns 8,170.37 ns 8,310.04 ns 8.80 - 0.9308 0.0305 0.0153 - 0.00
CollectionsTest NinoSerializeSortedList 905.92 ns 901.42 ns 914.17 ns 1.00 8,004 B - - - - NA
CollectionsTest MemoryPackSerializeSortedList 1,887.77 ns 1,873.42 ns 1,901.30 ns 2.08 8,004 B - - - - NA
CollectionsTest NinoDeserializeTupleList 452.51 ns 443.94 ns 464.75 ns 1.00 - 1.6394 - - 16056 B 1.00
CollectionsTest MemoryPackDeserializeTupleList 480.38 ns 474.44 ns 484.09 ns 1.06 - 1.6441 0.0658 - 16056 B 1.00
CollectionsTest NinoSerializeTupleList 111.18 ns 108.10 ns 113.78 ns 1.00 12,004 B - - - - NA
CollectionsTest MemoryPackSerializeTupleList 109.50 ns 108.06 ns 111.15 ns 0.99 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.62GHz, 1 CPU, 4 logical and 2 physical cores
  • CommonTypesTest, FixedSizeTest: AMD EPYC 7763 2.62GHz, 1 CPU, 4 logical and 2 physical cores
  • BclTypesTest, PolymorphicTest, VersionTolerantTest: AMD EPYC 7763 3.24GHz, 1 CPU, 4 logical and 2 physical cores
  • CollectionsTest, PooledGraphTest, ReferenceTest: AMD EPYC 9V45 4.37GHz, 1 CPU, 4 logical and 2 physical cores

Benchmark generated automatically on 2026-10-18 12:47:47 UTC