Техника оптимизации под линуха

       

сложный случай обработки данных по столбцам


А вот компиляторы от Hewlett-Packard оптимизируют этот цикл так (хвост цикла для упрощения понимания не показан):

for(i=0; i<n; i+=4)

{

       for (j=0; j<n; j++)

       {

              for (k=0; k<n; k++)

              {

                     a[j][i] = a[j][i] + b[k][i] * c[j][k];

                     a[j][i+1] = a[j][i+1] + b[k][i+1] * c[j][k];

                     a[j][i+2] = a[j][i+2] + b[k][i+2] * c[j][k];

                     a[j][i+3] = a[j][i+3] + b[k][i+3] * c[j][k];

              }

       }

}



Содержание раздела