Первый запуск параллельного for_each в 10 раз медленнее ⇐ Linux
-
Anonymous
Первый запуск параллельного for_each в 10 раз медленнее
У меня есть собственный код, который по сути выполняет тройной цикл for. Что я решил ускорить, переместив один из циклов в конструкцию std::for_each с политикой std::execution::par_unseq.
Код обновляет некоторый общий std::vector, который теперь защищен блокировкой мьютекса. В коде нет статических локальных переменных.
std::vector Детектор::Обнаружить( const std::vector& путь, const std::vector& объекты) const { std::vector попаданий; станд::мьютекс MTX; std::for_each (std::execution::par_unseq, объекты.cbegin(), объекты.cend(), [&](авто константа& объект){ std::set уже_хит; for (size_t i = 0; i
У меня есть собственный код, который по сути выполняет тройной цикл for. Что я решил ускорить, переместив один из циклов в конструкцию std::for_each с политикой std::execution::par_unseq.
Код обновляет некоторый общий std::vector, который теперь защищен блокировкой мьютекса. В коде нет статических локальных переменных.
std::vector Детектор::Обнаружить( const std::vector& путь, const std::vector& объекты) const { std::vector попаданий; станд::мьютекс MTX; std::for_each (std::execution::par_unseq, объекты.cbegin(), объекты.cend(), [&](авто константа& объект){ std::set уже_хит; for (size_t i = 0; i
Мобильная версия