更改boost序列化的类型标识以增强性能

时间:2016-02-18 06:19:09

标签: c++ boost boost-serialization

我想序列化大量数据,以便在运行和启动期间能够保存和加载(我不需要任何版本系统,或者在所有平台上都兼容)。所以这些工作的表现对我来说至关重要。经过一些搜索,我明白我必须使用boost-serialize之类的东西,它不需要任何预编译工作。在测量了我的代码的性能之后,我得到了程序的大部分内容,用于strcmp函数的序列化花费,用于类型识别。

我发现我们可以使用boost实现我们的类型识别,如here所示。但我有两个问题:

  1. 由于我发现所有类型标识实现都需要覆盖它返回get_key的{​​{1}}函数,所以似乎所有类型标识都必须基于const char*,因此字符串比较仍然存在似乎不太有希望。
  2. 我更喜欢使用例如每个类的const char*索引来在运行时识别它们,有没有标准的方法来执行此操作?请注意,在程序的所有运行中,分配给每个类的id必须相同。

0 个答案:

没有答案