2

重複の可能性:
2D配列を反復処理するときに、ループの順序がパフォーマンスに影響するのはなぜですか?

私はこれを単純なforループにしています

for (i=0;i<10000;i++){
   for(j=0;j<10000;j++){
      a[i][j]=i+j;
      }}

これらのforループの順序を次のように変更すると:

for (j=0;j<10000;j++){
   for(i=0;i<10000;i++){
      a[i][j]=i+j;
      }}

実行時間が劇的に増加することがわかります。なぜこれが起こるのですか?

ありがとう

4

1 に答える 1

1

アクセスの局所性が失われると、より多くのページフォールトが発生します。

于 2012-04-18T09:18:23.687 に答える