У меня есть простой параллель для цикла и результаты каждой итерации, которые я вставляю в concurrent_unordered_map. Я вижу, что вставка делает мой код намного медленнее. Итак, каков наилучший способ вернуть пары из parallel_for в unordered_map? Я пытался с Critical_section, но это было намного медленнее. Я пытался использовать комбинируемые, но я не знаю, как это сделать с картой.
псевдокод:
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());
Задача ещё не решена.
Других решений пока нет …