ループの順序
下のようなループにすると(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とは逆順となっている。