对boost :: dynamic_bitset进行并行迭代

时间:2013-06-18 13:41:03

标签: c++ boost parallel-processing

我正在使用这样的代码:

std::vector<std::size_t> final_results;
std::size_t pos = bitset.find_first();
while(boost::dynamic_bitset<>::npos != pos)
{
  //do some time consuming stuff

  if(results_are_nice)
    final_results.push_back(pos);

  pos = bitset.find_next(pos);
}

我想要并行化这个循环。耗时的东西是一个真正的瓶颈。我知道有一些准备好的解决方案用于“for loop”paralellization。但是在这里我需要在访问final_results时进行同步,并且在boost :: dynamic_bitset上进行迭代会更加复杂。

我该怎么办?迭代整个bitset,在向量中存储真值的索引并在该向量上并行化迭代?

0 个答案:

没有答案