Я новичок в R. Предположим, что структура памяти одинакова для фрейма данных и матрицы.
В следующей матрице
а = матрица (1: 10000000,1000000,10) * * 1 006
имеет 1М строк и 10 столбцов. Память для строки или для столбца физически последовательна? Или физическая память сначала хранит [1,1], [2,1], [3,1] ,, [1M, 1], [2,1] или [1,2], [1,2], .. [1,10], [2,1] ...
Предположим, что матрица с элементом 10M имеет размер 100M, а кэш-память L2 равна 4M, тогда кэш-память L2 не может хранить все эти элементы 10M. Если мы обработаем данные последовательно, у нас будет меньшее количество пропущенных кэшей L2. В нашем случае нам нужно обрабатывать строку за строкой и читать несколько столбцов одновременно, например столбцы A, B, C, а затем создать какой-то результат. Если в памяти сначала хранятся 10 элементов в 1-м ряду, а затем 10 элементов во 2-м ряду, производительность может быть выше.
Есть ли способ управления макетом памяти?