Nino.Generator
1.0.0
See the version list below for details.
dotnet add package Nino.Generator --version 1.0.0
NuGet\Install-Package Nino.Generator -Version 1.0.0
<PackageReference Include="Nino.Generator" Version="1.0.0" />
paket add Nino.Generator --version 1.0.0
#r "nuget: Nino.Generator, 1.0.0"
// Install Nino.Generator as a Cake Addin #addin nuget:?package=Nino.Generator&version=1.0.0 // Install Nino.Generator as a Cake Tool #tool nuget:?package=Nino.Generator&version=1.0.0
Nino
Definite useful and high performance serialisation library for C# projects, especially for Unity.
实用的高性能C#序列化库,尤其在Unity平台能带来令人难以置信的效益。
功能列表
Protobuf-net/MsgPack/BinaryFormatter/Bson/JSON等序列化库的平替方案,优势是更小体积,更高性能,支持多线程,支持多态
注意,该模块的序列化数据,仅支持在C#平台使用该库进行序列化和反序列化,无法跨语言使用
Nino.Serialization v2.0.0
与所有1.x版本都不兼容,详细请查看使用教程
支持全部非托管类型(int/float/datetime/vector/etc)
支持任意Nullable类型
支持任意ICollection类型(list/dictonary/hashset/etc)
支持任意Span类型
支持自定义Nino序列化类型
支持嵌套上述类型(dictionary<int, list<自定义nino类型[]>>)
支持多态
支持数据校验
性能高,GC低!
测试案例
Test1 Nino VS Protobuf-net 序列化
Test2 Nino VS BinaryFormatter 序列化
Test3 Nino VS Protobuf-net 反序列化
Test4 Nino VS BinaryFormatter 反序列化
Test5 Nino VS MongoDB.Bson 序列化以及反序列化
Test6 Nino VS MsgPack 序列化以及反序列化
Test7 自定义Nino序列化反序列化委托
Test8 自动收集全部字段进行序列化/反序列化(无需给单个字段或属性打标签)
Test9 基础类型序列化反序列化
Test10 复杂结构类型序列化反序列化
Test11 ILRuntime测试(需要搭配使用教程启用ILRuntime)
真机测试 可以打IL2CPP或Mono包进行测试(对比了Nino Reflection/Code Gen与Protobuf-net/BinaryFormatter/Bson/MsgPack Code Gen的序列化性能、序列化体积、反序列化性能)
Protobuf-net与Bson在IL2CPP下暂不支持字典序列化
目录结构
- Docs,文档
- src,Nino源码
- Nino_Unity,Nino Unity 2021及以上版本的工程,包含源码和测试代码(暂未发布v2.0.0 unity版本)
- Performance,性能报告
在Unity平台使用
暂未发布Unity版本,预计2024年8月推出
在非Unity平台使用
使用NuGet
NuGet里搜
Nino.Serialization
PM> Install-Package Nino.Serialization -Version 2.0.0
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.CodeAnalysis.CSharp (>= 4.3.0)
- Microsoft.CodeAnalysis.CSharp.Workspaces (>= 4.3.0)
- Nino.Serialization (>= 2.0.0-official)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Nino.Generator:
Package | Downloads |
---|---|
Nino
High performance and low size binary serialization solution, especially for Unity. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Nino.Serialization v2.0.0
- [Optimisation] More efficient code generated via Source Generator
- [Feature] Polymorphism Solution for Collections Serialization