связанных с этим вопросом: This oneстрок/столбцы против линейной скорости индексации (пространственная локальность)
Я использую пространственную сетку, которая потенциально может получить большую (10^6 узлов) или даже больше. Я буду регулярно выполнять операции перемещения (например, частицы из узла в другую). Я не треск в информатике, но я начинаю понимать понятия линий кэша и пространственной локальности, хотя пока не очень хорошо. Итак, я блуждал, если было бы желательно использовать 2D-массив (и если да, то какой? Я бы предпочел избежать повышения на данный момент, но, возможно, я свяжу его позже) и индексации смещения, например, следующим образом:
массив [I] [J] -> Array [I-1] [J + 2]
или, с массивом 1D, если NX является "эквивалент" число столбцов:
массив [i * NX + j] -> Array [(i-1) * NX + j + 2]
Зная, что это будет сделано почти миллион раз за итерацию с почти миллионом итераций.
Да, хорошо, но это «возможно», что меня раздражает .. Спасибо! –