ループの順序

下のようなループにすると(k, j, iの順にする),A( 1, 1, 1),A( 2, 1, 1),...という順番でデータを読みにいくため,メモリ上での配置の順にデータが読まれる。したがって,処理速度が上がる。

DIMENSION A(100,100,100)
DO K=1,100
  DO J=1,100
    DO I=1,100
      A(I,J,K)=0.E0
    END DO
  END DO
END DO
メモリ上でのデータの配置
1      A( 1, 1, 1)
2      A( 2, 1, 1)
3      A( 3, 1, 1)
100    A(100, 1, 1)
101    A( 1, 2, 1)
102    A( 2, 2, 1)
       A(100, 2, 1)
       A( 1, 1, 2)
       A(100,100,100)

これはFortranの場合で,他の言語(C言語)には当てはまらない。例えば,C言語の場合は,Fortranとは逆順となっている。