Repository navigation
v4.0.0-beta.43
Pre-release
Pre-release
·
18 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
- 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
📦 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.43
Installation
NuGet:
dotnet add package Nino --version 4.0.0-beta.43
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 10.0.100
[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 | 326,438.2091 ns | 321,661.3003 ns | 330,730.7842 ns | 1.00 | - | 32.2266 | 14.6484 | - | 745624 B | 1.00 |
| PolymorphicTest | MemoryPackDeserializePolymorphicClassArray | 335,292.2798 ns | 333,468.4761 ns | 336,689.4141 ns | 1.03 | - | 32.7148 | 14.6484 | - | 745624 B | 1.00 |
| PolymorphicTest | MessagePackDeserializePolymorphicClassArray | 1,768,089.2904 ns | 1,763,501.5059 ns | 1,776,403.6914 ns | 5.42 | - | 46.8750 | 23.4375 | - | 1162424 B | 1.56 |
| PolymorphicTest | NinoSerializePolymorphicClassArray | 213,896.3162 ns | 213,670.1533 ns | 214,222.9399 ns | 1.00 | 388.29KB | - | - | - | - | NA |
| PolymorphicTest | MemoryPackSerializePolymorphicClassArray | 326,950.4069 ns | 322,994.9282 ns | 331,287.0698 ns | 1.53 | 375.39KB | - | - | - | - | NA |
| PolymorphicTest | MessagePackSerializePolymorphicClassArray | 1,097,170.5462 ns | 1,089,947.6191 ns | 1,104,258.5020 ns | 5.13 | 500.3KB | - | - | - | - | NA |
| PolymorphicTest | NinoDeserializePolymorphicClass | 27,054.1465 ns | 26,635.0186 ns | 27,406.1405 ns | 1.00 | - | 7.4158 | 1.0986 | - | 79688 B | 1.00 |
| PolymorphicTest | MemoryPackDeserializePolymorphicClass | 30,297.6769 ns | 30,002.5943 ns | 30,636.5293 ns | 1.12 | - | 7.3547 | 1.1292 | - | 79688 B | 1.00 |
| PolymorphicTest | MessagePackDeserializePolymorphicClass | 240,737.4112 ns | 240,322.7822 ns | 241,052.3923 ns | 8.90 | - | 7.5684 | 1.4648 | - | 83856 B | 1.05 |
| PolymorphicTest | NinoSerializePolymorphicClass | 24,786.3431 ns | 24,779.4526 ns | 24,790.0025 ns | 1.00 | 52.53KB | - | - | - | - | NA |
| PolymorphicTest | MemoryPackSerializePolymorphicClass | 35,598.1428 ns | 35,067.6203 ns | 35,886.8387 ns | 1.44 | 50.55KB | - | - | - | - | NA |
| PolymorphicTest | MessagePackSerializePolymorphicClass | 155,857.1851 ns | 155,536.6558 ns | 156,295.1880 ns | 6.29 | 69.25KB | - | - | - | - | NA |
| PolymorphicTest | NinoDeserializePolymorphicFooArray | 22,151.6014 ns | 22,110.0228 ns | 22,220.9321 ns | 1.00 | - | 6.5002 | 1.0071 | - | 76024 B | 1.00 |
| PolymorphicTest | MemoryPackDeserializePolymorphicFooArray | 31,086.3794 ns | 30,871.5198 ns | 31,412.2589 ns | 1.40 | - | 7.0801 | 1.1597 | - | 76024 B | 1.00 |
| PolymorphicTest | MessagePackDeserializePolymorphicFooArray | 235,794.0018 ns | 234,519.8926 ns | 236,526.8115 ns | 10.64 | - | 7.0801 | 0.9766 | - | 76024 B | 1.00 |
| PolymorphicTest | NinoSerializePolymorphicFooArray | 23,375.0428 ns | 23,222.2111 ns | 23,677.0779 ns | 1.00 | 51.18KB | - | - | - | - | NA |
| PolymorphicTest | MemoryPackSerializePolymorphicFooArray | 32,927.6523 ns | 32,767.7846 ns | 33,177.4712 ns | 1.41 | 49.22KB | - | - | - | - | NA |
| PolymorphicTest | MessagePackSerializePolymorphicFooArray | 159,928.3413 ns | 159,611.8049 ns | 160,428.7134 ns | 6.84 | 67.58KB | - | - | - | - | NA |
| SimpleTest | NinoDeserializeSimpleClass | 515.3636 ns | 506.1390 ns | 531.7175 ns | 1.00 | - | 0.2174 | - | - | 2528 B | 1.00 |
| SimpleTest | MemoryPackDeserializeSimpleClass | 786.6746 ns | 780.8034 ns | 792.9132 ns | 1.53 | - | 0.2403 | - | - | 2528 B | 1.00 |
| SimpleTest | MessagePackDeserializeSimpleClass | 1,988.3297 ns | 1,978.5404 ns | 1,995.9165 ns | 3.86 | - | 0.3281 | - | - | 2528 B | 1.00 |
| SimpleTest | NinoSerializeSimpleClass | 228.7641 ns | 228.4525 ns | 229.2078 ns | 1.00 | 1.13KB | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeSimpleClass | 516.4426 ns | 516.1892 ns | 516.6278 ns | 2.26 | 1.12KB | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeSimpleClass | 1,203.2171 ns | 1,202.6531 ns | 1,204.2884 ns | 5.26 | 1.09KB | - | - | - | - | NA |
| SimpleTest | NinoDeserializeSimpleClasses | 59,702.5154 ns | 59,306.1505 ns | 60,432.5757 ns | 1.00 | - | 17.8833 | 5.8594 | - | 253624 B | 1.00 |
| SimpleTest | MemoryPackDeserializeSimpleClasses | 78,545.5268 ns | 77,226.8845 ns | 80,539.6852 ns | 1.32 | - | 17.7002 | 5.6152 | - | 253624 B | 1.00 |
| SimpleTest | MessagePackDeserializeSimpleClasses | 207,476.0469 ns | 206,775.4819 ns | 208,010.9683 ns | 3.48 | - | 18.0664 | 5.3711 | - | 253624 B | 1.00 |
| SimpleTest | NinoSerializeSimpleClasses | 24,327.4449 ns | 24,258.4648 ns | 24,427.6609 ns | 1.00 | 112.5KB | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeSimpleClasses | 50,919.4765 ns | 50,510.2184 ns | 51,168.2792 ns | 2.09 | 112.11KB | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeSimpleClasses | 117,746.3657 ns | 117,454.7781 ns | 118,289.6771 ns | 4.84 | 108.59KB | - | - | - | - | NA |
| SimpleTest | NinoDeserializeSimpleStruct | 0.3197 ns | 0.3166 ns | 0.3213 ns | 1.00 | - | - | - | - | - | NA |
| SimpleTest | MemoryPackDeserializeSimpleStruct | 1.7776 ns | 1.7767 ns | 1.7786 ns | 5.56 | - | - | - | - | - | NA |
| SimpleTest | MessagePackDeserializeSimpleStruct | 66.6404 ns | 66.6215 ns | 66.6678 ns | 208.44 | - | - | - | - | - | NA |
| SimpleTest | NinoSerializeSimpleStruct | 6.7627 ns | 6.7525 ns | 6.7688 ns | 1.00 | 16B | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeSimpleStruct | 5.9818 ns | 5.9589 ns | 6.0168 ns | 0.88 | 16B | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeSimpleStruct | 82.0498 ns | 82.0149 ns | 82.0840 ns | 12.13 | 16B | - | - | - | - | NA |
| SimpleTest | NinoDeserializeSimpleStructs | 109.0666 ns | 107.7028 ns | 111.6472 ns | 1.00 | - | 0.1624 | - | - | 1624 B | 1.00 |
| SimpleTest | MemoryPackDeserializeSimpleStructs | 131.9165 ns | 130.4727 ns | 134.2142 ns | 1.21 | - | 0.1624 | - | - | 1624 B | 1.00 |
| SimpleTest | MessagePackDeserializeSimpleStructs | 3,876.8517 ns | 3,869.9338 ns | 3,881.7499 ns | 35.56 | - | 0.1755 | 0.0076 | 0.0076 | - | 0.00 |
| SimpleTest | NinoSerializeSimpleStructs | 30.3829 ns | 30.3764 ns | 30.3947 ns | 1.00 | 1.57KB | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeSimpleStructs | 33.7639 ns | 33.7581 ns | 33.7718 ns | 1.11 | 1.57KB | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeSimpleStructs | 4,270.2839 ns | 4,268.7239 ns | 4,271.1104 ns | 140.55 | 1.57KB | - | - | - | - | NA |
| SimpleTest | NinoDeserializeVectors | 134,049.1335 ns | 132,778.9194 ns | 135,672.6626 ns | 1.00 | - | 15.3809 | 15.3809 | 15.3809 | 160030 B | 1.00 |
| SimpleTest | MemoryPackDeserializeVectors | 130,083.9694 ns | 128,937.7412 ns | 130,790.9360 ns | 0.97 | - | 17.5781 | 17.5781 | 17.5781 | 160034 B | 1.00 |
| SimpleTest | MessagePackDeserializeVectors | 362,775.4495 ns | 358,121.0718 ns | 368,321.2207 ns | 2.71 | - | 18.0664 | 18.0664 | 18.0664 | 160036 B | 1.00 |
| SimpleTest | NinoSerializeVectors | 3,662.6530 ns | 3,660.7492 ns | 3,664.1139 ns | 1.00 | 156.25KB | - | - | - | - | NA |
| SimpleTest | MemoryPackSerializeVectors | 3,640.8255 ns | 3,622.5082 ns | 3,668.7751 ns | 0.99 | 156.25KB | - | - | - | - | NA |
| SimpleTest | MessagePackSerializeVectors | 306,727.3359 ns | 306,447.4565 ns | 307,277.4868 ns | 83.74 | 205.08KB | - | - | - | - | NA |
Benchmark generated automatically on 2025-11-19 06:04:18 UTC