当前位置:  开发笔记 > 编程语言 > 正文

C#中具有最低内存占用的最快串行器和解串器?

如何解决《C#中具有最低内存占用的最快串行器和解串器?》经验,为你挑选了2个好方法。

我目前正在使用二进制格式化程序(Remoting)来序列化和反序列化对象以便在我的LAN周围发送.

我最近从2.0升级到.NET 3.5.3.5有没有引入任何新类型来提高序列化性能?

我已经看过了DataContractSerializer,但这会将任何内容序列化为基础XML ...这必须增加内存占用.

什么是在LAN上发送对象的最快串行器?我不关心互操作或版本控制...... 我需要速度!

我对第三方开源替代品持开放态度.



1> LukeH..:

听起来像Protocol Buffers可能就是你想要的.

我知道有三种.NET实现:protobuf-net,protobuf-csharp-port和Proto#.

在性能比较表明,协议缓冲性能优于内置串行器在尺寸和序列化/反序列化速度方面.


这三种.NET实现之间的区别是什么?

2> mythz..:

我有一些基于Northwind数据集的领先.NET序列化程序的基准测试.

@marcgravell二进制protobuf-net是基准测试的最快实现,比BCL中可用的Microsoft最快串行器(XML DataContractSerializer)快约7倍.

微软的JsonDataContractSerializer非常慢 - 比protobuf-net慢9 倍,比我自己的JsonSerializer慢3.6倍.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有