内容简介:Xfrogcn.BinaryFormatter 1.0.0 已经发布。 Xfrogcn.BinaryFormatter是一个.NET下的高性能二进制序列化库,它通过底层的Span以及Emit最大限度地提高性能,BinarySerializer整体上采用了与System.Text.Json序列化一...
Xfrogcn.BinaryFormatter 1.0.0 已经发布。
Xfrogcn.BinaryFormatter是一个.NET下的高性能二进制序列化库,它通过底层的Span以及Emit最大限度地提高性能,BinarySerializer整体上采用了与System.Text.Json序列化一致的编程API接口,故简单易用,无需过多的学习成本。
特性
- 高性能
- 较少的序列化尺寸
- 简单易用
- 引用保持
- 支持动态加载程序集中的类型
- 较为全面的内置类型支持
- 扩展属性
- 二进制文档模式
性能对比
与.NET内置的System.Runtime.Serialization.Formatters.Binary.BinaryFormatter二进制序列化对比,性能最高可达到它的4倍以上,而序列化结果的大小仅只有它的75%。 以下为通过test/BinaryFormatter.Benchmark性能测试项目获取的性能数据,其中:
- Json指System.Text.Json,可以看到其性能的确强悍
- XfrogcnBinary指本库
- SystemBinaryFormatter指.NET内置二进制序列化库(System.Runtime.Serialization.Formatters.Binary.BinaryFormatter)
- 类别Stream为采用流化方式序列化
- 类别Bytes为直接序列化为Byte数组或从Byte数组反序列化
- 所有的测试都基于默认配置,(流化方式下默认的缓冲区大小将会明显影响序列化性能)
序列化

BenchmarkDotNet=v0.12.1, OS=Windows 10.0.18363.1237 (1909/November2018Update/19H2) Intel Core i7-7500U CPU 2.70GHz (Kaby Lake), 1 CPU, 4 logical and 2 physical cores .NET Core SDK=5.0.101 [Host] : .NET Core 3.1.10 (CoreCLR 4.700.20.51601, CoreFX 4.700.20.51901), X64 RyuJIT DefaultJob : .NET Core 3.1.10 (CoreCLR 4.700.20.51601, CoreFX 4.700.20.51901), X64 RyuJIT
| Method | Categories | Mean | Error | StdDev |
|---|---|---|---|---|
| Json | Stream | 61.41 μs | 1.212 μs | 2.154 μs |
XfrogcnBinary |
Stream | 92.97 μs | 1.691 μs | 2.425 μs |
| SystemBinaryFormatter | Stream | 291.37 μs | 5.729 μs | 11.174 μs |
| Json_Bytes | Bytes | 59.79 μs | 1.160 μs | 1.907 μs |
XfrogcnBinary_Bytes |
Bytes | 88.67 μs | 1.437 μs | 1.274 μs |
反序列化

BenchmarkDotNet=v0.12.1, OS=Windows 10.0.18363.1237 (1909/November2018Update/19H2) Intel Core i7-7500U CPU 2.70GHz (Kaby Lake), 1 CPU, 4 logical and 2 physical cores .NET Core SDK=5.0.101 [Host] : .NET Core 3.1.10 (CoreCLR 4.700.20.51601, CoreFX 4.700.20.51901), X64 RyuJIT DefaultJob : .NET Core 3.1.10 (CoreCLR 4.700.20.51601, CoreFX 4.700.20.51901), X64 RyuJIT
| Method | Mean | Error | StdDev |
|---|---|---|---|
| Json | 100.12 μs | 1.933 μs | 2.374 μs |
XfrogcnBinary |
96.34 μs | 1.631 μs | 1.362 μs |
| SystemBinaryFormatter | 334.68 μs | 2.319 μs | 1.936 μs |
| Json_Bytes | 80.13 μs | 1.572 μs | 1.989 μs |
XfrogcnBinary_Bytes |
92.14 μs | 1.814 μs | 3.623 μs |
解决动态加载程序集中类型序列化的问题
如果序列化类型在动态加载的程序集中,而序列化方法封装在非动态加载程序集李,.NET官方提供的BinaryFormatter序列化库将无法进行反序列化,将引发无法找到程序集的错误。 本序列化库已解决此问题
详情查看:https://gitee.com/WuYeCai/Xfrogcn.BinaryFormatter/releases/1.0.0
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- NPM包(模块)发布、更新、撤销发布
- 有赞灰度发布与蓝绿发布实践
- 【重磅发布】Linkis 0.10.0 版本发布
- BeetlSQL 3.0.9 发布,Idea 插件发布
- 贝密游戏 0.7.0 发布,发布斗地主
- 【重磅发布】DataSphere Studio 0.9.0 版本发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
HTML 5 与 CSS 3 权威指南
陆凌牛 / 机械工业出版社华章公司 / 2011-4-7 / 69.00
如果你是一位有前瞻性的web前端工作者,那么你一定会从本书中受益,因为它就是专门为你打造的。 《HTML 5与CSS 3权威指南》内容系统而全面,详尽地讲解了html 5和css 3的所有新功能和新特性;技术新颖,所有知识点都紧跟html 5与css 3的最新发展动态(html 5和css 3仍在不断完善之中);实战性强(包含246个示例页面),不仅每个知识点都配有精心设计的小案例(便于动手......一起来看看 《HTML 5 与 CSS 3 权威指南》 这本书的介绍吧!
图片转BASE64编码
在线图片转Base64编码工具
UNIX 时间戳转换
UNIX 时间戳转换