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