C++ 序列化性能

标签 c++ serialization boost protocol-buffers

我正在构建一个分布式 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/

相关文章:

使用 Jackson 序列化 JSON 的 Java 类实现

c++ - boost::posix_time::from_iso_string 允许错误输入

linux - boost::thread::try_join_for() 函数出错

c++ - CMake:尝试将链接库添加到未在此目录中构建的目标

c++ - 为什么 std::nullopt_t 是 C++ 标准的一部分?

c++ - 打印一个带有特殊字符的字符串变量

c# - Google Checkout 突然返回 : 'GCheckout.XmlSerializers' failed to load'

c++ - 使用 KDS 中断 KL25Z 板

c++ - 二维数组 - 创建虚拟生物? (C++)

c# - C# 中的 Google Protocol Buffer