2

I have simple parallel_for loop and results of every iteration I am inserting to concurrent_unordered_map. I see that inserting makes my code much slower. So what is the best way to return pairs from parallel_for to unordered_map? I was trying with Critical_section but it was much slower. I was trying to use combinable, but I haven't idea how to do it with map.

Pseudocode:

concurrent_unordered_map<type, type> my_map;

parallel_for(0, max, [](int i){
  //is a lot of work happening
  my_map.insert(std::pair<type, type>(a, b); //here is bottleneck!!
}, static::partitioner());
yuri kilochek
  • 11,212
  • 2
  • 25
  • 52
Queen
  • 171
  • 1
  • 9

0 Answers0