【问题标题】:Boost::multi_index. Faster solution?提升::multi_index。更快的解决方案?
【发布时间】:2012-03-04 03:36:49
【问题描述】:

我昨天发布了一个问题,我通过使用 multi_map 解决了这个问题: Having a composite key for hash map in c++

这很有效,但是当 datasrt 足够大时就会出现问题。

我的数据集大约 10M 大,有序索引需要 +350 秒,而散列索引(无序)需要 80 秒。
与只需要 25 秒的 map(pair, double) 数据结构相比,这是一个相当长的时间。

有人知道提高计算速度吗?内存消耗还可以,但速度对我来说真的很重要。

【问题讨论】:

    标签: c++ map boost-multi-index


    【解决方案1】:

    您是否考虑过使用实际数据库,例如SQLite?当您想要为元素和 10+ 百万个索引设置多个索引时,这通常就是您要寻找的东西。

    如果基于 SQL 的数据库不可用,那么您可以使用non-SQL-based database。重要的不是特定的数据库。只是你正在使用某种形式的数据库。

    【讨论】:

    • 没有。不幸的是我不能使用 SQL。
    【解决方案2】:

    multi_index_container添加索引是在插入时间上付出代价的:粗略地说,如果您有四个索引,插入速度与在四个不同的单索引映射中插入一样慢(实际上它更快,如您的数据所示,因为 80

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-31
      • 2017-06-27
      • 2019-06-12
      • 2022-11-29
      相关资源
      最近更新 更多