我正在研究将高度定制且高效的二进制格式迁移到一种可用的二进制格式。数据存储在其他地方的一些低功率移动设备上,因此性能是重要的要求。当前格式的优点是所有字符串都存储在一个池中。这意味着我们不会在文件中重复相同的字符串数百次,我们在反序列化期间只读取一次,并且所有对象都通过其索引引用它。这也意味着我们在内存中只保留一份副本。所以有很多优点:) 我无法找到一种方法让 capnproto 或 flatbuffers 支持这一点。或者我是否需要在顶部构建层,并在生成的对象中明确使用整数索引来字符串?
谢谢!