我正在构建一个分布式 C++ 应用程序,它需要对存储在标准容器中的数据进行大量序列化和反序列化。
目前采用Boost.serialization。然而,它的表现很糟糕。我们的B-tree也使用Boost.serialization来存储键值对数据,但是如果我们将Boost.serialziation改为memcpy,访问速度将 boost 10倍甚至更多。由于目前的分布式平台,需要大量的数据交换,因此也需要简单的编程和高性能。我知道 Protocol Buffer 也可以用作序列化机制,但是,我不确定 Boost.serialization 和 Protocol Buffer 之间的性能比较,另一个问题是,是否有更好的解决方案来提供接近 memcpy 的更高性能?
谢谢
最佳答案
有人问了一个非常相似的问题: C++ Serialization Performance
protocol buffers 看起来是个不错的选择,但在不知道您的应用程序需求的情况下,很难推荐任何特定的库或技术。
关于C++ 序列化性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/678289/