重複の可能性:
時間とキャッシュのパフォーマンスの観点から、これら2つのforループのどちらがより効率的
ですか?2D配列を反復処理するときに、ループの順序がパフォーマンスに影響するのはなぜですか?
配列を通過する最速の方法を知りたいのですが、大きな配列ではその重要な方法を使用しています。たとえば、私は持っています:
ushort[, , ,] map = new ushort[3000, 3000, 3, 3]; // [pointX, pointY, stack, lvl]
for (int i = 0; i < 3000; i++)
for (int j = 0; j < 3000; j++)
for (int k = 0; k < 3; k++)
for (int l = 0; l < 3; l++)
map[i, j, k, l] = 45001;
これらの値がメモリにどのように格納されるかに依存するため、おそらく関連性があります。したがって、その場合は、これをこの順序で実行する方がよいでしょう-i-> j->k->lまたはl->k->j-> i?
また、他の言語でも違いますか?