Предположим, что у меня есть компьютер под названием A с процессором, который имеет два ядра и имеет гиперпоточность, то есть он имеет 2 ядра с 4 потоками (я понимаю, что он может одновременно обслуживать 4 процесса), также предположим, что у меня есть другой компьютер с именем B, имеющий 2 ядра, но нет гиперпоточности (как я понимаю, они могут одновременно обеспечивать 2 процесса) теперь предположим, что A и B имеют одинаковую тактовую частоту 3,4 ГГц, предположим, я написал алгоритм, который вычисляет среднее значение, но я разработал алгоритм так, чтобы использовать ТОЛЬКО два процесса, с учетом этого, какая работа компьютера завершается первой? (предположим, что входные данные одинаковы, и единственная разница между A и B - это гиперпоточность).
0
Ответы:
Пока Windows избегает двух «фальшивых» ядер на многопоточном компьютере, разницы не будет.
Если Windows решит запустить оба потока на процессорах cpu0 и cpu1 (поддельные), то это будет значительным ударом по производительности.
У меня проблемы с поиском ссылок в Интернете, но я думаю, что операционная система Windows достаточно умна.
Алгоритм будет быстрее на машине с многопоточностью, если вы выполните его с 4 потоками
источник