1

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

这个问题对于在懒惰的人之间进行选择可能很有趣

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

和更明确的编程风格

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

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

4

1 回答 1

3

速度上不可能有任何差异。这些变量声明是 100% 等效的。

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

于 2013-05-27T12:11:14.260 回答