7

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

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

谢谢

4

1 回答 1

1

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

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

于 2009-03-24T22:14:41.313 回答