У меня есть vector<int>
с 10 000 000 (10 миллионов) элементов, и что моя рабочая станция имеет четыре ядра. Существует функция, называемая ThrFunc
, которая работает с целым числом. Предположим, что время выполнения для ThrFunc
для каждого целого в vector<int>
примерно одинаковое.
Как определить оптимальное количество потоков для сгонки? Является ли ответ таким простым, как количество элементов, деленное на количество ядер? Или есть более тонкие вычисления?
Редактирование для предоставления дополнительной информации
- Не нужно блокировать; для каждого вызова функции требуется только чтение доступ