2013-05-27 35 views
1

與使用單獨聲明進行聲明相比,通過一個聲明聲明多個變量是否有任何性能優勢?Fortran 90中分離與組合變量聲明的速度?

這個問題可能對於一個懶惰的

REAL(kind=8), ALLOCATABLE :: x(:,:,:) , & 
        &  y(:,:,:) , & 
        &  z(:,:,:) 

和更明確的編程風格

REAL(kind=8), ALLOCATABLE :: x(:,:,:) 
REAL(kind=8), ALLOCATABLE :: y(:,:,:) 
REAL(kind=8), ALLOCATABLE :: z(:,:,:) 

之間進行選擇是有趣的是,答案通過模塊共享的全局變量和聲明的局部變量的相同在子程序中?

回答

3

速度沒有任何差異。這些變量的聲明是100%等價的。

也請不要使用kind=8,它不這樣做,你可能認爲它的確如此。特別是它不等同於real*8double precisionFortran: integer*4 vs integer(4) vs integer(kind=4))。