(size_t i = 0; i < N; ++i)
for (size_t j = 0; j < N; ++j)
text[i][j] = 0;
Быстрее чем
char text[N][N};
for (size_t i = 0; i < N; ++i)
for (size_t j = 0; j < N; ++j)
text[j][i] = 0;
Это из-за того что в первом случае вся i-ая строка находится в кеше процессора? А во втором случае в кеше всегда находятся данные которые нам не нужны на следующем шаге?
Потому что последовательно память читать/писать быстрее
Обсуждают сегодня