Fortran 90中分离与组合变量声明的速度?

时间:2013-05-27 11:23:27

标签: performance coding-style fortran declaration

与使用声明的单独语句相比,通过单个语句声明多个变量是否有任何性能优势?

这个问题对于在懒惰

之间进行选择很有意思
REAL(kind=8), ALLOCATABLE :: x(:,:,:) , &
                     &       y(:,:,:) , &
                     &       z(:,:,:)

和更明确的编程风格

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

对于通过模块共享的全局变量和子程序中声明的局部变量,答案是否相同?

1 个答案:

答案 0 :(得分:3)

速度没有任何差别。这些变量声明是100%等效的。

另外请不要使用kind=8,它不会,你可能认为它做了什么。特别是它不等同于real*8double precisionFortran: integer*4 vs integer(4) vs integer(kind=4))。