C++序列化性能

7 c++ serialization boost protocol-buffers

我正在构建一个分布式C++应用程序,需要对存储在std容器中的数据进行大量序列化和反序列化.

目前采用Boost.serialization.但是,它表现得很糟糕.我们的B树也使用Boost.serialization来存储键值对数据,但是,如果我们将Boost.serialziation更改为memcpy,访问速度将提高10倍或更多.由于目前的分布式平台需要进行如此多的数据交换,因此还需要易于编程以及高性能.我知道协议缓冲区也可以用作序列化机制,但是,我不确定Boost.serialization和协议缓冲区之间的性能比较,另一个问题是,是否有更好的解决方案来提供更接近memcpy的更高性能?

谢谢

Col*_*tin 1

有人问了一个非常相似的问题: C++ Serialization Performance

看起来协议缓冲区是一个不错的选择,尽管在不了解应用程序需求的情况下,很难推荐任何特定的库或技术。