Наверняка, многие из читавших это знают про технологию мультипоточности. Так вот, многие ошибочно думают, что поделив одно ядро на два мы получим удвоение производительности. В прочем, прирост действительно есть (но не двукратный), и сейчас разберемся: как поделив одно ядро надвое мы при тех же ресурсах увеличим производительность?
Немного истории
Если совсем кратко, то процессор состоит из ядер и еще множества компонентов, которыми мы пренебрежем в рамках статьи (вроде кэша, например). Раньше все было просто - 1 ядро процессора обрабатывает 1 "поток информации", но требования-то растут. Тут кто-то разумно предположил, что два ядра, работающих параллельно, покажут гораздо бОльшую производительность, однако прежде этого, компания intel в процессорах pentium 4 ввела технологию HyperThreading. Она позволяла "подводить" к одному физическому ядру процессора два потока информации, таким образом в случае ошибки кэша, процессор не прекращал обрабатывать информацию, а продолжал обрабатывать ее по "второму каналу". Таким образом, производительность в некоторых задачах могла возрасти. Отнюдь - не существенно. Зачастую прирост составлял 5-10%, а в случае с отдельными процессорами - отключение многопотока поднимало производительность на ~30% (если что - я про первые поколения i7. Тогда не было большого количества программ, способных эффективно загрузить больше 4-х потоков. Из-за огрех в оптимизации, вместо 4 полноценных ядер нагружались всего 2. Благо, проблема неактуальна на сегодняшний день).
Если что - сейчас был крайне упрощенный принцип работы этой фичи.
Так как же это работает?
Из оперативной памяти в кэш процессора выгружается информация. Затем, эта информация попадает на вычислительные блоки (ядра процессора)
И вот здесь и кроется вся суть. Если при передаче данных происходит сбой, то процессор с технологией мультипоточности переключит вычислительные ресурсы ядра на выполнение команд второго потока. Этим и обусловлено повышение производительности: аппаратно мощность процессора не увеличилась, однако ресурсы ядер используются более рационально.
Существует мнение, товарищи...
Очень часто слышу (а особенно от хейтеров AMD), что разницы между 2/4 и 4/4 нет. То есть не просто нет, а тот же "гиперпень" в многопоточном режиме работы даст фору 3-му райзену. Тут, конечно, не без каламбура: некоторые не приводят в качестве аргументов тестов, аргументируя свою позицию тем, что "блин, ну этож интол)0)". Обратимся к тестам.
"ряженка" не первой свежести обходит "народные" процессоры inlel (за 8 тысяч, народные, ага). И это сейчас не безосновательный хейт в сторону интел, а доказательства для теоремы (2/4 хуже, нежели 4/4). Таким образом, ряженка давит количеством. А толку от мегапроизводительных ядер в процессорах intel, если их 2? Конечно, мультипоточность, все дела, но как вы уже могли понять: гипертрейдинг - вовсе не панацея от всех бед.
В заключение скажу, что не стоит возлагать надежд на количество потоков. При выборе процессора следует ориентироваться на тесты в различных задачах, сравнениях, а так же обращать внимание на физическое количество ядер. Многопоточность не будет лишней, однако ее влияние на производительность в играх несколько меньше, чем многие думают. Пишите мнения в комментарии, буду благодарен - если поправите, где ошибся. Также не лишним будет и лайк под статьей, и подписка на канал. Во всяком случае вам ничего не стоит, а автору приятно. До скорого!