Flatbuffer 是否像 protobuf 一样使用整数位打包编码?

Does Flatbuffer use integer bit packing encoding like protobuf?

flatbuffers 是否对整数或其他类型采用任何特殊编码,就像 Protobufs 对具有 zigzag + packing 的整数所做的那样?这可以节省大量 space。我无法以某种方式在文档中找到任何参考。

不,它不是,因为 FlatBuffers 针对直接访问进行了优化,很像编程语言中的 structs/arrays。 Protobuf varints 的解码时间比仅从内存中读取标量要长 10 倍,并且根据用例,还会使其更难随机访问(例如在数组内部)。

也就是说,这是一个很好的可选功能,并且已经在此处暗示:https://github.com/google/flatbuffers/issues/5875。如果你觉得它真的很重要,你可以打开一个关于它的issue/PR。