【问题标题】:Speed of separated vs. combined variable declaration in Fortran 90?Fortran 90 中分离变量声明与组合变量声明的速度?
【发布时间】:2013-05-27 11:23:27
【问题描述】:

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

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

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

以及更明确的编程风格

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

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

【问题讨论】:

    标签: performance coding-style fortran declaration


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-04
      相关资源
      最近更新 更多