2

我最近开始学习 Fortran 以获得乐趣,我想知道是否有任何简单的方法来显示执行我的代码所花费的时间。这只是一个数到一百万的简单循环,我想看看需要多长时间才能做到这一点。

如果有帮助,这是我正在使用的代码:

program count
    implicit none
    integer :: i

    do i=0,1000000
        print*,i
    end do
end program count

我在 Linux 上使用 gFortran 作为我的编译器。我使用 Geany 作为文本编辑器。

4

2 回答 2

4

在 Fortran 90 或更高版本中,使用 SYSTEM_CLOCK 内部子例程:

call system_clock(beginning, rate)
result = do_computation()
call system_clock(end)
print *, "elapsed time: ", real(end - beginning) / real(rate)
于 2012-09-15T06:51:00.753 回答
1

一个简单的方法是call cpu_time(timeVariable).

样本:

program ElapsedTime
  implicit none

  integer :: i
  real :: startTime, stopTime

  call cpu_time(startTime)

  do i = 1, 1000000000
     if(mod(i,10000000)==0)then
        print *,"iter: ", i
     endif
  end do

  call cpu_time(stopTime)
  
  write(*, '(A, F8.6)') 'Elapsed time, s : ',  (stopTime - startTime)

end program 
于 2021-09-14T02:24:49.767 回答