как определить, следует ли организация памяти в соответствии с основным порядком строк или основным порядком столбцов?

Как определить, следует ли организация памяти порядку по строкам или по столбцам? Я изучил эту новую концепцию и узнал, что если мы знаем, какая организация памяти следует порядку по старшим строкам или по столбцам, мы можем заставить наш массив работать таким образом, чтобы производительность кода увеличивалась за счет уменьшения количества ошибки страницы. Но я не могу выяснить, "Как определить, следует ли организация памяти по порядку по строкам или по столбцам?".

1 ответ

Решение

В некоторой степени это зависит от языка, который вы используете... который вы не указали.

Вы можете протестировать, создав массив из 2 строк и 3 столбцов и предположив, что он будет храниться в строчном порядке, а затем проверив. Итак, создайте это:

0 1 2
3 4 5

Теперь посмотрим на байты в памяти. Если они уйдут:

0 1 2 3 4 5

это в строчном порядке. Если они уйдут:

0 3 1 4 2 5

ваша программа использует порядок столбцов.

Обычно C использует порядок строк, а fortran - порядок столбцов. Я сказал, что это зависит "до некоторой степени", потому что, например, с Python вы можете указать любой порядок и даже смешивать их для каждого случая в одной программе.

Другие вопросы по тегам