Мониторинг обменных курсов валют
18c0693f

влияние кратности разворота цикла на производительность на различных типах процессоров


Выполнить разворот цикла можно как на ассемблере (на MASM'е за счет поддержки развитой системы макрокоманд он реализуется особенно легко), так и на… любом языке высокого уровня, действуя в обход компилятора.

После "ручной" оптимизации исходный текст нашей программы будет выглядеть так:

if ((a=n)>3)

       // обрабатываем первые n

– (n % 4) итераций

       for (a = 0; a < n - 3; a += 4)

       {

              crc_1 += p[a+0];

              crc_2 += p[a+2];

              crc_3 += p[a+3];

              crc_4 += p[a+4];

       }

// обрабатываем оставшийся "хвост"

for (a = n - x % 4; a < x; a++) crc += p[a];

// складываем все воедино

crc += crc_1 + crc_2 + crc_3 + crc_4;






Самый выгодный курс обмена валюты