Моя программа: на 100% основанная на CPU и RAM, выполняет математические вычисления, вначале считывает данные с жесткого диска в RAM. Нет связи между потоками. Потоки, все занимают то же самое время также (почти).
Вопрос:
Если моя программа использует потоки, равные количеству потоков процессора, какую производительность я могу ожидать от системы с 2 процессорами?
Скажем, я использую два 8-ядерных xeon, каждый с 16 потоками, так что 16x2 = 32 потока. Если моя программа использует 32 потока, все при 100% использовании, получу ли я двойную производительность по сравнению с одним процессором?