谷物与二进制

Gre*_*ite 11 serialization haskell deserialization

我所知道的用于在Haskell中序列化和反序列化数据的两个主要竞争包是二进制和谷类.什么时候应该选择其中一个包呢?还是有其他我忽视的选择?

Tho*_*son 9

它们不是竞争对手,而是互补的. cereal适用于严格的字节串,binary适用于懒惰.由于它的惰性,binary取决于在解析错误时抛出异常而cereal可能会失败Either.

另外,暗示"只有"两个主要包是虚假陈述.至少你应该看看blaze-builder.

  • FYI谷物也适用于懒惰的字节串.感谢关于blaze-builder的说明,我会检查一下! (3认同)
  • 好吧,如果您只想序列化,那么缺乏反序列化无关紧要.此外,据说火焰建造者要快得多.对于处理延迟字节串的谷物,这是正确的,但谷物在其操作中仍然是严格的(为了通过'Either`返回错误). (2认同)