Как проверить параллелизм?C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Как проверить параллелизм?

Сообщение Гость »


TLDR; В общем, если у вас есть исполнитель, который может запускать код параллельно или последовательно. Как убедиться, что параллельное выполнение действительно параллельно?

р:

У нас есть среда выполнения C++, в которую мы отправляем в нее кучу событий для параллельного или последовательного запуска.
[*]Планировщик имеет список исполнителей в разных потоках, выполняющих фактическую работу. [*]Когда запрашивается параллельное выполнение, мы отправляем каждое действие отдельному работнику. [*]Когда запрашивается последовательное выполнение, мы отправляем все действия одному и тому же работнику.
Рабочий процесс работает, но время от времени мы вносим в него изменения и хотим быть уверены, что вносимые нами изменения не нарушат параллелизм. Единственный тест, который у нас сейчас есть, — это отправить группу параллельных действий длительностью 1 секунду и убедиться, что время выполнения составляет < количество действий * 1 секунда.

По многим очевидным причинам это неустойчиво, хакерски и не работает во многих сценариях. Как лучше всего обеспечить функцию параллелизма?

Интерфейсы для справки:
Планировщик классов { bool submitSequential (список действий ); bool submitParallel (список действий ); }; класс Рабочий { bool enqueue (список действий ); }; действие класса { Бул делать(); };
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»