与使用声明的单独语句相比,通过单个语句声明多个变量是否有任何性能优势?
这个问题对于在懒惰
之间进行选择很有意思REAL(kind=8), ALLOCATABLE :: x(:,:,:) , &
& y(:,:,:) , &
& z(:,:,:)
和更明确的编程风格
REAL(kind=8), ALLOCATABLE :: x(:,:,:)
REAL(kind=8), ALLOCATABLE :: y(:,:,:)
REAL(kind=8), ALLOCATABLE :: z(:,:,:)
对于通过模块共享的全局变量和子程序中声明的局部变量,答案是否相同?
答案 0 :(得分:3)
速度没有任何差别。这些变量声明是100%等效的。
另外请不要使用kind=8
,它不会,你可能认为它做了什么。特别是它不等同于real*8
或double precision
(Fortran: integer*4 vs integer(4) vs integer(kind=4))。