Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет superhuman ([info]superhuman)
@ 2017-01-02 12:13:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Построение клонов одноэлементных логических операций легко параллелится. Вот и распараллелил. На графике - во сколько раз быстрее прога выполняется в зависимости от числа потоков:

Изображение - savepic.net — сервис хранения изображений

Так как задача влезает в регистры (при правильной оптимизации), то каждый поток обрабатывается своим ядром, и ускорение пропорционально количеству потоков. У меня восьмиядерный проц, вот и ускорение соответствующее. Некоторая диспропорция к концу, я думаю, из-за неравномерности окончания потоков.

Это был ещё один судебный процесс, в этот раз, кажется, от интела к амд. Типа амд обманывает покупателя, т.к. кэши общие между ядрами - по два, - значит, ядер не восемь, а четыре как бы. Однако, бенчмарка показывает, что интелу надо соснуть хуйца: ускорение больше четырёх, значит, и ядер больше. Кэши общие, это да, а ядер - всё равно восемь (объединённых в модули по два).

P.S. А msvc, вообще, скомпилил хуйню какую-то. Во многопоточной версии вроде бы считает что-то, но на консоль не выводит ни хрена. Потому и нет говна этого на графике.