有没有人有任何关于Protocol Buffers与BSON (二进制JSON)或JSON的性能特征的信息?
的速度
这些看起来像是通过HTTP使用的很好的二进制协议。我只是在想,从长远来看,哪个更适合C#环境。
这是我在BSON和Protocol Buffers上读到的一些信息。
发布于 2010-01-05 01:41:09
Thrift也是另一种类似于协议缓冲区的替代方案。
Java社区在序列化/反序列化和这些技术的连接大小方面有很好的基准测试:https://github.com/eishay/jvm-serializers/wiki
一般而言,JSON的线路尺寸稍大,DeSer稍差,但在普及性和无需源IDL的情况下轻松解释它的能力方面胜出。最后一点是Apache Avro正在尝试解决的问题,它在性能方面优于两者。
微软发布了C# NuGet包Microsoft.Hadoop.Avro。
发布于 2010-01-05 04:36:35
This post比较了.NET中的序列化速度和大小,包括JSON、BSON和XML。
http://james.newtonking.com/archive/2010/01/01/net-serialization-performance-comparison.aspx
发布于 2010-08-18 11:00:03
下面的some recent benchmarks展示了流行的.NET序列化程序的性能。
Burning Monks benchmarks显示了序列化简单POCO的性能,而综合的Northwind benchmarks显示了序列化微软的Northwind数据集的每个表中的行的组合结果。
基本上,协议缓冲区(protobuf-net)比中最快的基类库序列化器( DataContractSerializer)快7倍。它也比竞争对手小,因为它也比微软的最紧凑的序列化格式(JsonDataContractSerializer)小2.2x。
ServiceStack的文本序列化程序最接近于二进制protobuf-net的性能,其Json Serializer仅比protobuf-net慢2.58倍。
https://stackoverflow.com/questions/2000933
复制相似问题