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

Упорядочивание обращений к памяти


При обращении к одной-единственной ячейки памяти, в кэш первого уровня загружается целая строка, длина которой в зависимости от типа процессора варьируется от 32 до 128 или даже 256байт, поэтому большие массивы выгоднее всего обрабатывать по строкам, а не по столбцам. К сожалению, многие программисты об этом забывают и отдуваться приходится компилятору:

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

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

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



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