関連する質問: これ
大きくなる可能性がある空間グリッドを使用しています (10^6 ノード) またはさらに大きくなる可能性があります。定期的に変位操作を実行する必要があります (ノードから別のノードへのパーティクルなど)。私は情報学のクラックではありませんが、まだ十分ではありませんが、キャッシュ ラインと空間的局所性の概念を理解し始めています。したがって、2D配列を使用する方が好ましいかどうかをさまよっていました(もしそうなら、どちらですか?今はブーストを避けたいと思いますが、後でリンクするかもしれません)、たとえば次のように変位にインデックスを付けます:
配列[i][j] -> 配列[i-1][j+2]
または、1D 配列で、NX が「同等の」列数の場合:
配列[i*NX+j] -> 配列[(i-1)*NX+j+2]
1 回の反復で 100 万回近く実行され、100 万回近くの反復も行われることがわかっています。