Влияет ли количество ядер на время выполнения
Скажем, я написал программу, которая выполняется на двухъядерном процессоре за 30 секунд. Сколько времени займет 16-ядерный процессор? то же самое или отличается
Два случая: Один - программа написана с учетом нескольких ядер. Двухпрограммная написана независимо от того, нет ли ядер.
1 ответ
Если рассматривать отдельно, то, если вы не написали явно многопоточный код, время выполнения должно быть таким же. 1 Конечно, это может быть быстрее, если у вас одновременно работают другие приложения, потому что теперь они могут работать на других ядрах.
Если вы написали многопоточный код, то ускорение, которое вы увидите, будет зависеть от всевозможных факторов (пропускная способность памяти, пропускная способность ввода-вывода, схемы доступа к памяти, когерентность кэша, синхронизация и т. Д.), А также закон Амдала. Это всегда будет некоторое число меньше, чем N (где N - количество ядер).
1. Предположим, мы говорим об обычной платформе.