【问题标题】:Changing the size of stxxl:vector cache更改 stxxl:vector 缓存的大小
【发布时间】:2015-08-06 20:32:17
【问题描述】:

在我的算法中,我有两个阶段:

1) 使用占用尽可能多 RAM 的大数据结构 X 使用记录填充文件 2) 对文件进行排序。现在有很多内存,因为 X 被释放了

所以我想用 STXXL 处理文件及其排序。但是,第一阶段,STXXL 缓存的空间非常有限,而第二阶段应该有很多。

所以理想情况下,我想在第一阶段创建一个带有小缓存的 stxxl::vector,填充它,然后在排序期间增加它的大小以加快速度。但是,我找不到改变向量缓存大小的函数。

我看到的一个解决方案是在第一阶段写入一个普通的“虚拟”二进制文件,并从中创建一个 stxxl::vector,但这会导致空间的双重使用,因为两个“虚拟” file 和 stxxl::vector 将在某个时候同时存在。那么使用stxxl的真正方法是什么?

【问题讨论】:

    标签: c++ stxxl


    【解决方案1】:

    一般情况下,stxxl::vector 的缓存大小可以通过设置CachePages-参数来更改,如stxxl::VECTOR_GENERATOR 中所述。 这能回答你的问题吗?

    【讨论】:

      猜你喜欢
      • 2010-10-13
      • 2022-11-10
      • 2018-03-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-05
      • 2012-02-08
      • 2017-08-16
      相关资源
      最近更新 更多