在为FORTRAN程序计时时,我通常只使用该命令call cpu_time(t).
然后我偶然发现call system_clock([count,count_rate,count_max])它似乎在做同样的事情.但是,在一个更难的庄园.我对这些的了解来自:旧的英特尔文档.
我无法在英特尔的主页上找到它.请参阅下面的标记.
这些是我的问题,下面我提供了一些代码供您查看一些时间和用法.他们向我展示了它们在输出方面非常相似,因此在实现方面似乎相似.
我应该注意,我可能会一直坚持cpu_time,而且我并不需要更精确的时间.
在下面的代码中,我试图比较它们.(我也尝试了更精细的东西,但为了保持简洁而不会供应)所以基本上我的结果是:
cpu_timesystem_clockINTEGER精度,英特尔12.0.4的计数率为10000 .c1 > c2,由于count_max码:
PROGRAM timer
IMPLICIT NONE
REAL :: t1,t2,rate
INTEGER :: c1,c2,cr,cm,i,j,n,s
INTEGER , PARAMETER :: x=20000,y=15000,runs=1000
REAL :: array(x,y),a_diff,diff
! First initialize the system_clock
CALL system_clock(count_rate=cr)
CALL system_clock(count_max=cm)
rate = REAL(cr)
WRITE(*,*) "system_clock rate ",rate …Run Code Online (Sandbox Code Playgroud)