我正在构建一个分布式C++应用程序,它需要对在不同进程和计算机之间传递的简单数据结构进行大量序列化和反序列化.
我对序列化复杂的类层次结构不感兴趣,但更多的是使用一些简单的成员(如数字,字符串和数据向量)发送结构.数据向量通常可以是几兆字节.我担心基于text/xml的方法做得太慢而且我真的不想自己写这个,因为字符串编码和数字字节序等问题会使它比表面看起来更复杂.
我一直在寻找协议缓冲区和boost.serialize.根据文件协议缓冲似乎很关心性能.Boost似乎更轻量级,因为你没有外部语言来指定我觉得这个特定项目非常方便的数据格式.
所以我的问题归结为:有人知道上面描述的典型用例的升压序列化是否很快?
此外,如果有其他图书馆可能适合这一点,我会很高兴听到他们.
我强烈建议使用协议缓冲区.它们使用起来非常简单,性能卓越,并且可以处理字节序和向后兼容性等问题.为了使其更具吸引力,由于众多语言实现,序列化数据与语言无关.