Мощь и беспомощность автоматической оптимизации

не оптимизированный кандидат на регистровую ре-ассоциацию


Для достижения наибольшей производительности код следует переписать так (разворот циклов опущен для наглядности):

int a[10][20][30];

void example (void)

{

       int i, j, k;

       register int (*p)[20][30];

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

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

                     for (p = (int (*)[20][30]) &a[0][j][k], i = 0; i < 10; i++)

                            *(p++[0][0]) = 1;

}



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