К сожалению, нет простого ответа.Единственный способ узнать наверняка - это внедрить и затем профилировать ваше приложение.
Как правило, для максимальной пропускной способности, если задания выполняются исключительно с использованием ЦП, вам нужно по одному на ядро.В зависимости от типа работы, это может включать один код на гиперпотоки или только один на «истинное физическое ядро».(Если работа идентична для всех 20 заданий, то гиперпоточность часто замедляет общую работу ...)
Если задания имеют любую не-CPU функциональность (например, чтение файла, ожидание чего угодно и т. д.), то> 1 рабочий элемент на ядро имеет тенденцию быть намного лучше.Во многих ситуациях это улучшится.