请帮助建议Flatbuffers和CBOR协议(protocol)的优缺点。这两种二进制格式在其网站上都声称是不错的,但是我无法在两者之间做出一些很好的区别。
FlatBuffers :
优势:
坏处:
银行同业拆借利率
优势:
坏处:
PS:
感觉到与平缓缓冲区相比,CBOR中的类型管理将在性能上付出高昂的代价,但是由于CBOR是标准化协议(protocol),如果这种差异不大,我倾向于选择它。请让我知道你们都推荐两个,为什么。
最佳答案
我认为您自己已经很清楚地阐明了这一点。 FlatBuffer的优势在于能够在不进行分析/拆包/分配的情况下访问数据,这在某些情况下会带来严重的性能优势。但是,如果这对您而言并不重要,例如 Protocol Buffer 可能也可以正常工作。
数据中的强类型和动态类型也很重要。如果我想要没有约束的通用数据存储,则只使用后者。
顺便说一句,如果由于某种原因您更喜欢动态类型,但又希望就地访问具有性能优势,那么实际上存在一种将两者结合的格式:https://google.github.io/flatbuffers/flexbuffers.html
FlatBuffers不是“专有的”。它可能是由Google设计的,但它是开源的,并被许多其他公司所依赖。