Skip to content

Definite useful and high performance serialisation library for C# projects, especially for Unity. 实用的高性能C#序列化库,尤其在Unity平台能带来令人难以置信的效益。

License

Notifications You must be signed in to change notification settings

JasonXuDeveloper/Nino

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nino

Definite useful and high performance serialisation library for C# projects, especially for Unity.

实用的高性能C#序列化库,尤其在Unity平台能带来令人难以置信的效益。

buildlicense

功能列表

使用教程 nino.nuget

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 复杂结构类型序列化反序列化

    • 真机测试 可以打IL2CPP或Mono包进行测试(对比了Nino Reflection/Code Gen与Protobuf-net/BinaryFormatter/Bson/MsgPack Code Gen的序列化性能、序列化体积、反序列化性能)

      Protobuf-net与Bson在IL2CPP下暂不支持字典序列化

  • 性能报告

目录结构

  • Docs,文档
  • src,Nino源码
  • Nino_Unity,Nino Unity 2022.3及以上版本的工程,包含源码和测试代码
  • Performance,性能报告
  • Nino.unitypackage,Unity包

在Unity平台使用

参考使用教程

在非Unity平台使用

  • 使用NuGet

    NuGet里搜Nino

    PM> Install-Package Nino -Version 2.0.3

About

Definite useful and high performance serialisation library for C# projects, especially for Unity. 实用的高性能C#序列化库,尤其在Unity平台能带来令人难以置信的效益。

Resources

License

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •  

Languages