Repository navigation
v4.0.0-beta.42
Pre-release
Pre-release
·
21 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 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
📦 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]
- 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
- 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
📦 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 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
- 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
- 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.42
Installation
NuGet:
dotnet add package Nino --version 4.0.0-beta.42
Unity: Preview version available via UPM
📊 Performance Report
Click to expand benchmark results
BenchmarkDotNet v0.15.2, Linux Ubuntu 24.04.3 LTS (Noble Numbat)
AMD EPYC 7763, 1 CPU, 4 logical and 2 physical cores
.NET SDK 9.0.307
[Host] : .NET 8.0.22 (8.0.2225.52707), X64 RyuJIT AVX2
ShortRun-.NET 9.0 : .NET 9.0.11 (9.0.1125.51716), X64 RyuJIT AVX2
Job=ShortRun-.NET 9.0 Runtime=.NET 9.0 Server=True
IterationCount=3 LaunchCount=1 WarmupCount=3
| Type | Method | Mean | Min | Max | Ratio | Payload | Gen0 | Gen1 | Gen2 | Allocated | Alloc Ratio |
|---|---|---|---|---|---|---|---|---|---|---|---|
| PolymorphicTest | NinoDeserializePolymorphicClassArray | 324,255.0951 ns | 320,539.8101 ns | 326,653.8755 ns | 1.00 | - | 32.2266 | 14.6484 | - | 745624 B | 1.00 |
| PolymorphicTest | MemoryPackDeserializePolymorphicClassArray | 333,391.1808 ns | 328,676.3716 ns | 337,049.0688 ns | 1.03 | - | 31.7383 | 14.1602 | - | 745624 B | 1.00 |
| PolymorphicTest | MessagePackDeserializePolymorphicClassArray | 1,822,773.5117 ns | 1,811,666.5371 ns | 1,835,824.0332 ns | 5.62 | - | 46.8750 | 21.4844 | - | 1162424 B | 1.56 |
| PolymorphicTest | NinoSerializePolymorphicClassArray | 216,986.1669 ns | 214,655.0610 ns | 219,413.8027 ns | 1.00 | 388.29KB | - | - | - | - | NA |
| PolymorphicTest | MemoryPackSerializePolymorphicClassArray | 334,644.2093 ns | 321,720.8589 ns | 343,617.7690 ns | 1.54 | 375.39KB | - | - | - | - | NA |
| PolymorphicTest | MessagePackSerializePolymorphicClassArray | 1,139,818.6048 ns | 1,131,992.4023 ns | 1,143,758.8672 ns | 5.25 | 500.3KB | - | - | - | - | NA |
| PolymorphicTest | NinoDeserializePolymorphicClass | 26,744.3949 ns | 26,558.6651 ns | 27,034.7538 ns | 1.00 | - | 7.3547 | 1.1597 | - | 79688 B | 1.00 |
| PolymorphicTest | MemoryPackDeserializePolymorphicClass | 29,341.8942 ns | 29,221.0360 ns | 29,570.4398 ns | 1.10 | - | 7.4158 | 1.1597 | - | 79688 B | 1.00 |
| PolymorphicTest | MessagePackDeserializePolymorphicClass | 240,792.6613 ns | 240,320.4122 ns | 241,099.6158 ns | 9.00 | - | 7.8125 | 1.2207 | - | 83856 B | 1.05 |
| PolymorphicTest | NinoSerializePolymorphicClass | 27,199.7598 ns | 26,337.9766 ns | 27,845.3967 ns | 1.00 | 52.53KB | - | - | - | - | NA |
| PolymorphicTest | MemoryPackSerializePolymorphicClass | 35,246.6224 ns | 35,034.4628 ns | 35,425.4297 ns | 1.30 | 50.55KB | - | - | - | - | NA |
| PolymorphicTest | MessagePackSerializePolymorphicClass | 157,210.5134 ns | 156,411.0479 ns | 158,132.8196 ns | 5.78 | 69.25KB | - | - | - | - | NA |
| PolymorphicTest | NinoDeserializePolymorphicFooArray | 23,694.0916 ns | 22,874.9584 ns | 24,891.6397 ns | 1.00 | - | 7.0801 | 1.0986 | - | 76024 B | 1.00 |
| PolymorphicTest | MemoryPackDeserializePolymorphicFooArray | 30,153.3914 ns | 29,831.0413 ns | 30,617.6515 ns | 1.27 | - | 7.0801 | 1.0071 | - | 76024 B | 1.00 |
| PolymorphicTest | MessagePackDeserializePolymorphicFooArray | 229,787.9542 ns | 228,929.3130 ns | 230,232.7095 ns | 9.71 | - | 9.0332 | 1.4648 | 0.2441 | - | 0.00 |
| PolymorphicTest | NinoSerializePolymorphicFooArray | 21,751.4727 ns | 21,709.3920 ns | 21,812.5009 ns | 1.00 | 51.18KB | - | - | - | - | NA |
| PolymorphicTest | MemoryPackSerializePolymorphicFooArray | 33,528.4853 ns | 32,786.5524 ns | 34,064.3582 ns | 1.54 | 49.22KB | - | - | - | - | NA |
| PolymorphicTest | MessagePackSerializePolymorphicFooArray | 170,518.5911 ns | 169,148.4678 ns | 171,633.3765 ns | 7.84 | 67.58KB | - | - | - | - | NA |
| SimpleTest | NinoDeserializeSimpleClass | 504.0295 ns | 501.9824 ns | 505.3369 ns | 1.00 | - | 0.2193 | - | - | 2528 B | 1.00 |
| SimpleTest | MemoryPackDeserializeSimpleClass | 685.2900 ns | 678.9810 ns | 694.2375 ns | 1.36 | - | 0.2460 | - | - | 2528 B | 1.00 |
| SimpleTest | MessagePackDeserializeSimpleClass | 1,851.5269 ns | 1,847.4291 ns | 1,856.3529 ns | 3.67 | - | 0.3319 | 0.0019 | - | 2528 B | 1.00 |
| SimpleTest | NinoSerializeSimpleClass | 235.9341 ns | 235.7158 ns | 236.1391 ns | 1.00 | 1.13KB | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeSimpleClass | 521.7485 ns | 521.7075 ns | 521.7733 ns | 2.21 | 1.12KB | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeSimpleClass | 1,261.4433 ns | 1,259.5189 ns | 1,262.5731 ns | 5.35 | 1.09KB | - | - | - | - | NA |
| SimpleTest | NinoDeserializeSimpleClasses | 53,709.1655 ns | 53,456.6533 ns | 54,019.2248 ns | 1.00 | - | 18.0664 | 5.8594 | - | 253624 B | 1.00 |
| SimpleTest | MemoryPackDeserializeSimpleClasses | 67,754.2897 ns | 67,439.4045 ns | 68,267.7661 ns | 1.26 | - | 17.5781 | 5.7373 | - | 253624 B | 1.00 |
| SimpleTest | MessagePackDeserializeSimpleClasses | 200,704.9506 ns | 200,414.3837 ns | 201,195.2892 ns | 3.74 | - | 18.7988 | 5.6152 | - | 253624 B | 1.00 |
| SimpleTest | NinoSerializeSimpleClasses | 25,015.4481 ns | 25,005.2489 ns | 25,021.2777 ns | 1.00 | 112.5KB | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeSimpleClasses | 50,704.7325 ns | 50,589.1145 ns | 50,898.0836 ns | 2.03 | 112.11KB | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeSimpleClasses | 121,370.7266 ns | 119,845.0058 ns | 122,224.7205 ns | 4.85 | 108.6KB | - | - | - | - | NA |
| SimpleTest | NinoDeserializeSimpleStruct | 0.3184 ns | 0.3138 ns | 0.3208 ns | 1.00 | - | - | - | - | - | NA |
| SimpleTest | MemoryPackDeserializeSimpleStruct | 1.9106 ns | 1.8720 ns | 1.9875 ns | 6.00 | - | - | - | - | - | NA |
| SimpleTest | MessagePackDeserializeSimpleStruct | 69.8680 ns | 69.7829 ns | 69.9417 ns | 219.48 | - | - | - | - | - | NA |
| SimpleTest | NinoSerializeSimpleStruct | 6.7895 ns | 6.7810 ns | 6.8040 ns | 1.00 | 16B | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeSimpleStruct | 6.0402 ns | 6.0366 ns | 6.0449 ns | 0.89 | 16B | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeSimpleStruct | 95.5060 ns | 95.1163 ns | 95.9474 ns | 14.07 | 16B | - | - | - | - | NA |
| SimpleTest | NinoDeserializeSimpleStructs | 103.6599 ns | 103.1176 ns | 104.4995 ns | 1.00 | - | 0.1624 | - | - | 1624 B | 1.00 |
| SimpleTest | MemoryPackDeserializeSimpleStructs | 129.5011 ns | 128.8074 ns | 130.0114 ns | 1.25 | - | 0.1624 | - | - | 1624 B | 1.00 |
| SimpleTest | MessagePackDeserializeSimpleStructs | 3,910.6675 ns | 3,876.7418 ns | 3,938.0338 ns | 37.73 | - | 0.1602 | - | - | 1624 B | 1.00 |
| SimpleTest | NinoSerializeSimpleStructs | 30.4520 ns | 30.4494 ns | 30.4560 ns | 1.00 | 1.57KB | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeSimpleStructs | 57.3604 ns | 57.2307 ns | 57.5021 ns | 1.88 | 1.57KB | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeSimpleStructs | 4,088.0037 ns | 4,084.3922 ns | 4,092.6806 ns | 134.24 | 1.57KB | - | - | - | - | NA |
| SimpleTest | NinoDeserializeVectors | 127,826.8770 ns | 126,010.0359 ns | 129,742.8513 ns | 1.00 | - | 16.3574 | 16.3574 | 16.3574 | 160032 B | 1.00 |
| SimpleTest | MemoryPackDeserializeVectors | 126,578.4107 ns | 122,644.3642 ns | 128,868.9127 ns | 0.99 | - | 16.7236 | 16.7236 | 16.7236 | 160033 B | 1.00 |
| SimpleTest | MessagePackDeserializeVectors | 362,732.8866 ns | 354,271.4888 ns | 370,796.4995 ns | 2.84 | - | 17.5781 | 17.5781 | 17.5781 | 160034 B | 1.00 |
| SimpleTest | NinoSerializeVectors | 3,635.2366 ns | 3,633.6001 ns | 3,636.4179 ns | 1.00 | 156.25KB | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeVectors | 3,776.4853 ns | 3,772.1103 ns | 3,781.1248 ns | 1.04 | 156.25KB | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeVectors | 298,911.9220 ns | 298,883.7622 ns | 298,929.3604 ns | 82.23 | 205.08KB | - | - | - | - | NA |
Benchmark generated automatically on 2025-11-14 06:10:25 UTC