没有任何人有任何信息的性能特点的协议的缓冲器和备份和恢(二JSON)或与JSON一般?

  • 线的大小
  • 化的速度
  • 反速度

这些看起来像很好的二进制协议的使用HTTP。我只是想知道哪个会更好的长远C#环境。

这里的一些信息的我读 备份和恢协议的缓冲区.

有帮助吗?

解决方案

节俭 是另一个协议的缓冲区状替代。

有很好的基准,从Java社区化/反和导线的大小,这些技术有: https://github.com/eishay/jvm-serializers/wiki

在一般情况下,JSON略有更大的线的尺寸,并稍微更糟糕的渔民,但胜在普遍性和能力来解释它很容易,而不源IDL。最后一点东西 Apache阿弗罗 是在试图解决,它打败这两方面的性能。

微软已经发布了一C#NuGet Microsoft。Hadoop。阿弗罗.

其他提示

这个职位 比较化的速度和尺寸。净额,包括式,备份和恢和XML。

alt text

alt text

http://james.newtonking.com/archive/2010/01/01/net-serialization-performance-comparison.aspx

这里是 最近的一些基准 显示出性能的受欢迎的。净序列化程序。

燃烧的僧侣的基准 显的性能将一个简单的POCO而全面的 罗斯文的基准 显示的合并结果的顺序排在每一个桌的微软罗斯文数据集。

enter image description here

基本协议的缓冲区(格式净)是周围 7倍 快于最快的基类库程序。网(XML DataContractSerializer).它也比较小的竞争,因为它也是 2.2x 小于微软最紧凑化格式(JsonDataContractSerializer).

Servicestack创建的文本序列化程序的最接近的匹配性能的二元格式净它 Json器 只是 2.58x 慢于格式。

协议的缓冲区而设计的线:

  1. 非常小的消息大小--的一个方面是非常有效的变型整数表示。
  2. 很快解码-这是二进制的协议。
  3. 格式产生的超高效率的C++进行编码和解码的消息-提示:如果你编码所有var-整数或静态型项目到它它会编码和解在确定速度。
  4. 它提供了一个非常丰富的数据模型--有效编码很复杂的数据结构。

JSON仅仅是文字,并且需要 .提示:编码"亿"int到这将需要相当多的角色:亿美元=12字符的(长级),以二进制它适合在一个uint32_t现在怎么样,试图进行编码,一个双人?这将远远更糟。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top