Repository navigation
v4.0.0-beta.47
Pre-release
Pre-release
·
4 commits
to main
since this release
What's Changed
✨ Features
📦 analyzer
- add validation and tests for NinoRefDeserializationAttribute [3db1a4d] by @claude[bot]
📦 ci
- support comma-separated scopes in release notes [94ef222] by @JasonXuDeveloper
📦 core
- add delegate null checks and conditional Unity code generation [05a4bca] by @JasonXuDeveloper
📦 deserializer
- add ReadOnlySpan overloads for DeserializeRef methods [9d2b0e2] by @claude[bot]
📦 formatter
- implement MemoryPack-inspired high-performance custom formatter system [5d6be51] by @JasonXuDeveloper
📦 generator
- add CodeFixProvider for IDE quick fixes with comprehensive test coverage [d76c2c6] by @JasonXuDeveloper
- add ConcurrentQueue and ConcurrentStack support [a9cddb4] by @JasonXuDeveloper
- add NinoRefDeserializationAttribute for custom object pooling [6d0c185] by @claude[bot]
- add delegate null checks and conditional Unity code generation [05a4bca] by @JasonXuDeveloper
- add incremental source generator for NinoType discovery [c728df5] by @JasonXuDeveloper
- add multi-dimensional array support [47279ab] by @JasonXuDeveloper
- add new collection type generators and optimize unmanaged types [60d4831] by @JasonXuDeveloper
- add source generator diagnostic testing and NINO011 improvements [72ca9c2] by @JasonXuDeveloper
- allow inheritance over
[NinoType][7cf3ae5] by @JasonXuDeveloper - expose NinoBuiltInTypesRegistration as public [b1288f2] by @JasonXuDeveloper
- support NinoTypes from referenced assemblies [a2591b9] by @JasonXuDeveloper
📦 release
- add dual-tag system for OpenUPM compatibility [70914a8] by @JasonXuDeveloper
📦 serialization
- add boxed object support for generic type serialization with restrictions [8fc6476] by @JasonXuDeveloper
📦 tests
- add CodeFixProvider for IDE quick fixes with comprehensive test coverage [d76c2c6] by @JasonXuDeveloper
- add source generator diagnostic testing and NINO011 improvements [72ca9c2] by @JasonXuDeveloper
📦 workflow
- add benchmark posting to secure workflow [4fc1433] by @JasonXuDeveloper
🐛 Bug Fixes
🔧 General
- always commit Unity DLL updates to main branch for all releases [dba0eda] by @JasonXuDeveloper
- clean up temporary branch after Unity DLL push [c4aa14c] by @JasonXuDeveloper
- correct release workflow DLL copy path for Nino.Generator [b58708b] by @JasonXuDeveloper
- ensure Unity DLL updates reach main branch for stable releases [fb0edd9] by @JasonXuDeveloper
- ensure temporary branch cleanup even on push failure [454a334] by @JasonXuDeveloper
- remove extra argument from RegisterSerializer call in NinoBuiltInTypeGenerator [177e35e] by @claude[bot]
- restore complete CLAUDE.md with all original instructions [5aa8f43] by @JasonXuDeveloper
📦 cache
- correct CacheEntry struct accessibility to internal [829adf4] by @claude[bot]
- correct array initialization syntax for compatibility [af7440d] by @claude[bot]
📦 ci
- correct DLL copy paths in release workflow [cb7051d] by @JasonXuDeveloper
- move release tag to Unity DLL commit for UPM compatibility [df7b32c] by @JasonXuDeveloper
- prevent canceling previous CI runs on non-code changes [b8e0cdf] by @JasonXuDeveloper
- remove invalid secrets check in workflow conditional [4d3072e] by @JasonXuDeveloper
- remove invalid secrets check in workflow conditional [5c77066] by @JasonXuDeveloper
📦 generator
- add null checks for Exception.StackTrace in error handling [2cdf362] by @claude[bot]
- add parameter to control RefDeserializationMethod null check [f794a11] by @claude[bot]
- avoid Unsafe.As entry array access on pre-NET5 to fix HybridCLR ArrayTypeMismatchException [f815a1c] by @JasonXuDeveloper
- capture member types from parsed Nino types to include generic field types [6cc5636] by @JasonXuDeveloper
- check type argument accessibility recursively to prevent CS0051 errors [271b99e] by @JasonXuDeveloper
- check type argument accessibility recursively to prevent CS0051 errors [fbaf9d1] by @JasonXuDeveloper
- directly deserialize members instead of calling DeserializeImplRef [3809b14] by @claude[bot]
- ensure all NinoType members use CachedDeserializer [ecca399] by @JasonXuDeveloper
- fix cross-assembly type discovery in incremental builds [e8f089c] by @JasonXuDeveloper
- gracefully handle unbound generic types [55019e3] by @JasonXuDeveloper
- guard newer refs for netstandard2.1 codegen [072f770] by @JasonXuDeveloper
- handle CustomDeserializer in RefDeserializationMethod path [cc68ee3] by @claude[bot]
- implement offset-based UPM preview version increments [6aa92f0] by @JasonXuDeveloper
- improve ArraySegment fast path implementation [37e4d59] by @JasonXuDeveloper
- modify emit namespace and improve GetKind correctness [c7c0a29] by @JasonXuDeveloper
- register optimal methods for sealed and struct types [632d8cd] by @JasonXuDeveloper
- replace C# 10 inferred delegates with direct method calls for C# 9 compatibility [6fb1e84] by @JasonXuDeveloper
- resolve CS8628 error for nullable reference types in collections [e9659fa] by @JasonXuDeveloper
- resolve IDE duplicate code issue with comprehensive deduplication [3fa682c] by @JasonXuDeveloper
- resolve jagged array syntax error in QueueGenerator for NET5_0_OR_GREATER [3b2a575] by @JasonXuDeveloper
- resolve jagged array syntax errors and centralize array creation logic [dfd5150] by @JasonXuDeveloper
- resolve memory leaks and reduce memory footprint in source generators [7cfe212] by @JasonXuDeveloper
- restore member type validation checks [8a590ba] by @JasonXuDeveloper
- suppress CS8669 nullable annotation warnings in generated code [335b43e] by @JasonXuDeveloper
- use CustomDeserializer instead of CustomSerializer for deserializer prefix [52f85cd] by @JasonXuDeveloper
- use DeserializeImplRef instead of unqualified DeserializeRef call [5db595c] by @claude[bot]
- use tempDict for ReadOnlyDictionary with unmanaged KVP [6d20a9f] by @JasonXuDeveloper
📦 release
- pull latest changes before creating tag to prevent CI push failures [397a87c] by @JasonXuDeveloper
📦 serialization
- fix nullable type handling and restore tuple grouping in deserializer [cc675c6] by @JasonXuDeveloper
📦 tests
- correct DeserializeRef API usage and add NinoIgnore to test fields [da6b1a4] by @claude[bot]
📦 workflow
- use GitHub API to download artifacts from workflow_run [ab102aa] by @JasonXuDeveloper
⚡ Performance
🔧 General
- implement three hot-path optimizations (estimated 2-4% improvement) [2ba6b16] by @claude[bot]
- optimize deserializer to use UnsafeRead for unmanaged types [8505fb6] by @JasonXuDeveloper
- simplify call path [74d9767] by @JasonXuDeveloper
📦 benchmark
- enhance polymorphic serialization benchmarks [5d28c4e] by @JasonXuDeveloper
📦 cache
- optimize inline cache to use single struct array (8→4 entries) [3932d63] by @claude[bot]
- relocate inline cache from Writer/Reader to CachedSerializer/CachedDeserializer [213b727] by @claude[bot]
- replace pattern matching with Unsafe.As for delegate casts [390b77a] by @claude[bot]
📦 collections
- reuse backing storage and extend tests [ec6c57c] by @JasonXuDeveloper
📦 core
- add thread-local buffer pooling and volatile cache access [c6bc61f] by @JasonXuDeveloper
- add thread-local cache for polymorphic serialization [519ad0b] by @JasonXuDeveloper
- four micro-optimizations for hot path performance [d5ec96e] by @claude[bot]
- implement lock-free type registration with CAS [c7188b8] by @JasonXuDeveloper
- optimize FastMap by removing System.Numerics dependency [aa99377] by @JasonXuDeveloper
- optimize FastMap hash operations and remove unused Writer methods [eb4a801] by @claude[bot]
- optimize buffer management and array serialization [cbe7303] by @JasonXuDeveloper
- optimize polymorphic serialization with per-instance caching [ca9fdb9] by @JasonXuDeveloper
- remove inline cache from polymorphic serialization [722ca4b] by @JasonXuDeveloper
- use shared volatile cache for polymorphic serialization [3ccbd64] by @JasonXuDeveloper
📦 deserializer
- optimize CachedDeserializer with direct typeId lookup [27159dc] by @JasonXuDeveloper
📦 generator
- add aggressive inlining to SerializeImpl/DeserializeImpl methods [6bbaeea] by @JasonXuDeveloper
- inline sealed type serialization to eliminate delegate overhead [cb7f33c] by @JasonXuDeveloper
- move AggressiveInlining from NinoType impls to built-in types [f5e0d6c] by @JasonXuDeveloper
- optimize HashSet serialization with direct entry access [eaf6222] by @JasonXuDeveloper
- optimize collection deserialization with three-phase ref overload and Array.Resize pattern [c92f070] by @JasonXuDeveloper
- optimize incremental generator with multiple performance improvements [97a211d] by @JasonXuDeveloper
- optimize incremental pipeline and eliminate memory leaks [e632cda] by @JasonXuDeveloper
- optimize polymorphic deserialization with compile-time dispatch [a0c3f1c] by @JasonXuDeveloper
- optimize polymorphic serialization with compile-time code generation [ee49724] by @JasonXuDeveloper
- skip code generation when Nino.Core is not used [21006f3] by @JasonXuDeveloper
📦 serialization
- optimize array ref overloads with Array.Resize and object reuse [ea6c808] by @JasonXuDeveloper
- optimize dictionary and array loops [7f93c22] by @JasonXuDeveloper
- optimize polymorphic handling with static wrappers [e80031a] by @JasonXuDeveloper
📦 serializer
- add inline caching for polymorphic serialization/deserialization [c538842] by @JasonXuDeveloper
- implement two major performance optimizations [4ebd855] by @claude[bot]
- optimize polymorphic type resolution with multiple strategies [672c2c3] by @JasonXuDeveloper
- skip type ID read/write for monomorphic arrays [292a9df] by @claude[bot]
🔧 Improvements
🔧 General
📦 core
- change GetGeneratedNamespace to NoInlining for error paths [2f18f40] by @claude[bot]
📦 generator
- add type hierarchy ordering and pre-filtering for built-in type generation [074c2a2] by @JasonXuDeveloper
- consolidate built-in type generators into unified output [975bc7d] by @JasonXuDeveloper
- disable TypeCollectionReportGenerator [fecb4df] by @JasonXuDeveloper
- dramatically simplify deserializer generator with 64% code reduction [7df5751] by @JasonXuDeveloper
- extract built-in type generation framework and implement nullable types [b1348ba] by @JasonXuDeveloper
- extract deserialization body generation into reusable method [96633c1] by @JasonXuDeveloper
- improve TypeModel design and add performance optimizations [40c10a6] by @JasonXuDeveloper
- migrate KeyValuePair and Tuple to dedicated generators with shared helpers [0dbab00] by @JasonXuDeveloper
- migrate collection types to built-in generator framework with optimized List ref handling [b340785] by @JasonXuDeveloper
- optimize fast path detection and add ArraySegment fast path support [4109053] by @JasonXuDeveloper
- optimize type validation with iterative algorithm and extract nested type discovery [e885ded] by @JasonXuDeveloper
- remove overly strict member type validation [33353db] by @JasonXuDeveloper
- remove redundant constructor check for RefDeserializationMethod [e41cb40] by @claude[bot]
- remove unnecessary CustomDeserializer check in RefDeserializationMethod [10f145c] by @claude[bot]
- simplify GetNinoTypeAttribute and fix minor issues [d09252e] by @JasonXuDeveloper
- simplify type discovery pipeline and remove redundant code [b3109f1] by @JasonXuDeveloper
- use GetKind pattern and NinoTuple for grouped deserialization [451acf6] by @JasonXuDeveloper
📦 serializer
- convert CachedSerializer and CachedDeserializer to static classes [9bb574b] by @JasonXuDeveloper
📚 Documentation
🔧 General
- add DeepWiki badge to README [870def1] by @JasonXuDeveloper
- merge CLAUDE.md files into unified root configuration [9baae43] by @JasonXuDeveloper
- merge CLAUDE.md files into unified root configuration [b268b2e] by @JasonXuDeveloper
📦 generator
- translate Chinese comments to English [254d5aa] by @JasonXuDeveloper
🧪 Testing
📦 analyzer
- fix inheritance analyzer test expectations [befba6e] by @JasonXuDeveloper
📦 deserializer
- add List and Array fields to polymorphic test classes [e3d2c2f] by @claude[bot]
- add comprehensive tests for generic types with NinoRefDeserializationAttribute [b74c85a] by @claude[bot]
- add polymorphic test cases for NinoRefDeserializationAttribute [128b885] by @claude[bot]
📦 serialization
- add comprehensive array shrinking test for ref overload [f935e24] by @JasonXuDeveloper
🏗️ Maintenance
🔧 General
- add Claude Code development environment and tooling [1b149f3] by @JasonXuDeveloper
- add Claude Flow development environment and metrics [7af6abf] by @JasonXuDeveloper
- ignore Claude Flow metrics files and remove from tracking [f5f5478] by @JasonXuDeveloper
- remove remaining Claude Flow metrics files and update docs [a14a045] by @JasonXuDeveloper
- update Claude Flow metrics to latest state [29d5191] by @JasonXuDeveloper
📦 ci
- optimize workflow with path-based change detection [ed6dc3a] by @JasonXuDeveloper
📦 generator
- guard memorymarshal helpers for unity [cbd0313] by @JasonXuDeveloper
📦 repo
- remove CLAUDE.md from version control [f576d7b] by @JasonXuDeveloper
- remove LLM agent configuration files and exclude from version control [5f27fda] by @JasonXuDeveloper
🔀 Other Changes
📦 other
- "Update Claude Code Review workflow" [aec6819] by @JasonXuDeveloper
- "Update Claude PR Assistant workflow" [59b79a5] by @JasonXuDeveloper
- Add Claude Code GitHub Workflow (#159) [37abd2d] by @JasonXuDeveloper
- Bump the nuget group with 2 updates (#163) [b75430e] by @JasonXuDeveloper
- Merge branch 'main' of https://github.com/JasonXuDeveloper/Nino [d9d98c2] by @JasonXuDeveloper
- Merge remote-tracking branch 'origin/main' into pr-work [dc40a40] by @JasonXuDeveloper
- Revert "perf(serializer): skip type ID read/write for monomorphic arrays" [da5ec7a] by @claude[bot]
- ci(workflow): add github_token to fix OIDC authentication error [344ff8f] by @JasonXuDeveloper
- ci(workflow): implement two-workflow handoff for secure fork PR reviews [5d3068f] by @JasonXuDeveloper
- ci(workflow): switch to pull_request_target for forked PR secret access [67177d4] by @JasonXuDeveloper
- ci(workflow): use pull_request trigger for immediate workflow updates [5a48135] by @JasonXuDeveloper
- ci(workflows): skip Unity tests for forked repository PRs [b373fac] by @JasonXuDeveloper
- ci: fix Claude Code Review workflow configuration [adc309b] by @JasonXuDeveloper
- ci: fix benchmark results detection [544f583] by @JasonXuDeveloper
- ci: run benchmarks on PRs and post results as comments [2873746] by @JasonXuDeveloper
- feat(generator): add NinoRefDeserializationAttribute for custom objec… (#167) [c91b04e] by @JasonXuDeveloper
- fix: resolve deserialization issue with nested complex types (#157) [45c68b0] by @JasonXuDeveloper
- perf(serialization): polymorphic performance and FastMap optimization (#164) [1c611c8] by @TheLight-233
- recover unity ci [3924539] by @JasonXuDeveloper
- temporary unity ci removal [b38bf17] by @JasonXuDeveloper
- 增加继承父类NinoType [fd6c905] by @wang-er-s
👥 Contributors
Full Changelog: https://github.com/JasonXuDeveloper/Nino/compare/v4.0.0-beta.8..v4.0.0-beta.47
Installation
NuGet:
dotnet add package Nino --version 4.0.0-beta.47
Unity: Preview version available via UPM
📊 Performance Report
Click to expand benchmark results
BenchmarkDotNet v0.15.2, Linux Ubuntu 24.04.3 LTS (Noble Numbat)
Intel Xeon Platinum 8370C CPU 2.80GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.102
[Host] : .NET 8.0.23 (8.0.2325.60607), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
ShortRun-.NET 9.0 : .NET 9.0.12 (9.0.1225.60609), X64 RyuJIT AVX-512F+CD+BW+DQ+VL+VBMI
Job=ShortRun-.NET 9.0 Runtime=.NET 9.0 Server=True
IterationCount=3 LaunchCount=1 WarmupCount=3
| Type | Method | Mean | Min | Max | Ratio | Payload | Gen0 | Gen1 | Gen2 | Allocated | Alloc Ratio |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PolymorphicTest | NinoDeserializePolymorphicClassArray | 340,302.6130 ns | 338,120.2788 ns | 343,354.2495 ns | 1.00 | - | 31.2500 | 14.1602 | - | 745624 B | 1.00 |
| PolymorphicTest | MemoryPackDeserializePolymorphicClassArray | 372,433.1641 ns | 370,130.6997 ns | 374,468.4526 ns | 1.09 | - | 32.2266 | 14.6484 | - | 745624 B | 1.00 |
| PolymorphicTest | MessagePackDeserializePolymorphicClassArray | 1,661,763.5465 ns | 1,642,589.6729 ns | 1,678,762.4697 ns | 4.88 | - | 44.9219 | 19.5313 | - | 1162424 B | 1.56 |
| PolymorphicTest | NinoSerializePolymorphicClassArray | 205,527.1788 ns | 205,211.3060 ns | 205,772.9808 ns | 1.00 | 388.29KB | - | - | - | - | NA |
| PolymorphicTest | MemoryPackSerializePolymorphicClassArray | 277,990.8765 ns | 277,460.3228 ns | 278,835.5400 ns | 1.35 | 375.39KB | - | - | - | - | NA |
| PolymorphicTest | MessagePackSerializePolymorphicClassArray | 858,564.2507 ns | 857,803.9111 ns | 859,674.8906 ns | 4.18 | 500.29KB | - | - | - | - | NA |
| PolymorphicTest | NinoDeserializePolymorphicClass | 26,122.1867 ns | 25,089.1057 ns | 26,989.0742 ns | 1.00 | - | 6.3782 | 1.0071 | - | 79688 B | 1.00 |
| PolymorphicTest | MemoryPackDeserializePolymorphicClass | 31,624.1897 ns | 31,054.0776 ns | 32,583.7865 ns | 1.21 | - | 6.5918 | 0.9766 | - | 79688 B | 1.00 |
| PolymorphicTest | MessagePackDeserializePolymorphicClass | 207,204.1018 ns | 206,389.9285 ns | 207,666.6479 ns | 7.94 | - | 8.3008 | 0.9766 | 0.2441 | - | 0.00 |
| PolymorphicTest | NinoSerializePolymorphicClass | 24,850.8447 ns | 24,819.1461 ns | 24,877.7008 ns | 1.00 | 52.53KB | - | - | - | - | NA |
| PolymorphicTest | MemoryPackSerializePolymorphicClass | 29,633.0679 ns | 29,540.4260 ns | 29,727.6298 ns | 1.19 | 50.55KB | - | - | - | - | NA |
| PolymorphicTest | MessagePackSerializePolymorphicClass | 121,943.5434 ns | 121,727.8180 ns | 122,134.3417 ns | 4.91 | 69.25KB | - | - | - | - | NA |
| PolymorphicTest | NinoDeserializePolymorphicFooArray | 19,869.0563 ns | 19,586.2770 ns | 20,246.2885 ns | 1.00 | - | 6.9885 | 1.0071 | - | 76024 B | 1.00 |
| PolymorphicTest | MemoryPackDeserializePolymorphicFooArray | 30,380.0294 ns | 29,934.0477 ns | 30,980.5121 ns | 1.53 | - | 6.7139 | 0.9766 | - | 76024 B | 1.00 |
| PolymorphicTest | MessagePackDeserializePolymorphicFooArray | 198,561.4651 ns | 197,742.6074 ns | 199,386.8547 ns | 10.00 | - | 7.0801 | 0.7324 | - | 76024 B | 1.00 |
| PolymorphicTest | NinoSerializePolymorphicFooArray | 22,095.6128 ns | 22,063.5203 ns | 22,112.3858 ns | 1.00 | 51.18KB | - | - | - | - | NA |
| PolymorphicTest | MemoryPackSerializePolymorphicFooArray | 28,008.8236 ns | 27,984.5607 ns | 28,032.6233 ns | 1.27 | 49.22KB | - | - | - | - | NA |
| PolymorphicTest | MessagePackSerializePolymorphicFooArray | 134,742.6787 ns | 134,433.0345 ns | 135,126.7557 ns | 6.10 | 67.58KB | - | - | - | - | NA |
| SimpleTest | NinoDeserializeSimpleClass | 558.0406 ns | 551.3676 ns | 562.7606 ns | 1.00 | - | 0.2260 | 0.0010 | - | 2528 B | 1.00 |
| SimpleTest | MemoryPackDeserializeSimpleClass | 752.2723 ns | 749.1888 ns | 757.2615 ns | 1.35 | - | 0.2375 | - | - | 2528 B | 1.00 |
| SimpleTest | MessagePackDeserializeSimpleClass | 2,009.3808 ns | 1,994.8922 ns | 2,034.9619 ns | 3.60 | - | 0.2480 | - | - | 2528 B | 1.00 |
| SimpleTest | NinoSerializeSimpleClass | 203.5970 ns | 203.5243 ns | 203.7410 ns | 1.00 | 1.13KB | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeSimpleClass | 504.1325 ns | 504.0470 ns | 504.2461 ns | 2.48 | 1.12KB | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeSimpleClass | 1,129.3056 ns | 1,128.9065 ns | 1,129.5266 ns | 5.55 | 1.09KB | - | - | - | - | NA |
| SimpleTest | NinoDeserializeSimpleClasses | 57,145.4792 ns | 56,485.9504 ns | 58,179.8085 ns | 1.00 | - | 17.9443 | 5.6152 | - | 253624 B | 1.00 |
| SimpleTest | MemoryPackDeserializeSimpleClasses | 76,489.2322 ns | 75,749.5000 ns | 77,834.6982 ns | 1.34 | - | 17.9443 | 5.6152 | - | 253624 B | 1.00 |
| SimpleTest | MessagePackDeserializeSimpleClasses | 216,890.0580 ns | 215,479.7910 ns | 218,233.3215 ns | 3.80 | - | 18.3105 | 5.3711 | - | 253624 B | 1.00 |
| SimpleTest | NinoSerializeSimpleClasses | 22,341.6417 ns | 22,333.2281 ns | 22,349.4907 ns | 1.00 | 112.5KB | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeSimpleClasses | 47,295.6899 ns | 47,266.4597 ns | 47,321.1035 ns | 2.12 | 112.11KB | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeSimpleClasses | 104,555.2799 ns | 104,451.6437 ns | 104,735.9120 ns | 4.68 | 108.59KB | - | - | - | - | NA |
| SimpleTest | NinoDeserializeSimpleStruct | 0.2908 ns | 0.2893 ns | 0.2927 ns | 1.00 | - | - | - | - | - | NA |
| SimpleTest | MemoryPackDeserializeSimpleStruct | 1.1553 ns | 1.1547 ns | 1.1557 ns | 3.97 | - | - | - | - | - | NA |
| SimpleTest | MessagePackDeserializeSimpleStruct | 57.8387 ns | 57.7992 ns | 57.9043 ns | 198.90 | - | - | - | - | - | NA |
| SimpleTest | NinoSerializeSimpleStruct | 4.9970 ns | 4.9914 ns | 5.0058 ns | 1.00 | 16B | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeSimpleStruct | 5.2867 ns | 5.2749 ns | 5.2965 ns | 1.06 | 16B | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeSimpleStruct | 72.7336 ns | 72.7236 ns | 72.7427 ns | 14.56 | 16B | - | - | - | - | NA |
| SimpleTest | NinoDeserializeSimpleStructs | 129.8193 ns | 129.4000 ns | 130.6418 ns | 1.00 | - | 0.1624 | - | - | 1624 B | 1.00 |
| SimpleTest | MemoryPackDeserializeSimpleStructs | 149.7559 ns | 149.1813 ns | 150.2874 ns | 1.15 | - | 0.1624 | - | - | 1624 B | 1.00 |
| SimpleTest | MessagePackDeserializeSimpleStructs | 3,521.6335 ns | 3,504.3483 ns | 3,544.8597 ns | 27.13 | - | 0.2289 | 0.0076 | 0.0076 | 1151 B | 0.71 |
| SimpleTest | NinoSerializeSimpleStructs | 30.9437 ns | 30.9196 ns | 30.9584 ns | 1.00 | 1.57KB | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeSimpleStructs | 35.7902 ns | 35.7676 ns | 35.8259 ns | 1.16 | 1.57KB | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeSimpleStructs | 3,923.2585 ns | 3,919.8242 ns | 3,927.8614 ns | 126.79 | 1.57KB | - | - | - | - | NA |
| SimpleTest | NinoDeserializeVectors | 106,355.3897 ns | 105,896.3429 ns | 106,624.0195 ns | 1.00 | - | 12.8174 | 12.8174 | 12.8174 | 160025 B | 1.00 |
| SimpleTest | MemoryPackDeserializeVectors | 111,123.3352 ns | 100,819.7867 ns | 118,841.2533 ns | 1.04 | - | 15.0146 | 15.0146 | 15.0146 | 160029 B | 1.00 |
| SimpleTest | MessagePackDeserializeVectors | 321,267.7230 ns | 311,455.7285 ns | 327,979.0137 ns | 3.02 | - | 16.6016 | 16.6016 | 16.6016 | 160033 B | 1.00 |
| SimpleTest | NinoSerializeVectors | 3,505.8318 ns | 3,503.4469 ns | 3,509.3873 ns | 1.00 | 156.25KB | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeVectors | 4,667.8065 ns | 4,667.2969 ns | 4,668.2893 ns | 1.33 | 156.25KB | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeVectors | 278,932.2041 ns | 278,506.0732 ns | 279,401.4756 ns | 79.56 | 205.08KB | - | - | - | - | NA |
Benchmark generated automatically on 2026-02-08 00:09:33 UTC