LINUX.ORG.RU

История изменений

Исправление pon4ik, (текущая версия) :

Единственное, что я бы попробовал рассмотреть, но это сильно зависит от задачи, это вообще превратить итерацию в сложение или другую арифметическую операцию.

Например, если задача сложить числа, то пакуя в 8 битные числа можно будет получать все числа с помощью сдвига на индекс * константу для каждого из 8 чисел в пачке, и цикл для суммы будет на 128 итераций а не на 4096, если применять решение в лоб. Возможно, можно подобрать подходящую SIMD операцию для такой задачи.

Исходная версия pon4ik, :

Единственное, что я бы попробовал рассмотреть, но это сильно зависит от задачи, это вообще превратить итерацию на сложение или другую арифметическую операцию.

Например, если задача сложить числа, то пакуя в 8 битные числа можно будет получать все числа с помощью сдвига на индекс * константу для каждого из 8 чисел в пачке, и цикл для суммы будет на 128 итераций а не на 4096, если применять решение в лоб. Возможно, можно подобрать подходящую SIMD операцию для такой задачи.