FORTRAN中の时间函数

来源:互联网 发布:mac的office 编辑:程序博客网 时间:2024/06/05 19:20

简单总结下FORTRAN中获取时间常用到的函数:

  • CPU_TIME
  • DATE_AND_TIME
  • SYSTEM_CLOCK

CPU_TIME

返回的是一个浮点型,表示当前CPU运行时间(以秒计)。

DATE_AND_TIME

包括很多信息,包括日期,时间,时区,最后一个参数是一个大小为8的整型数组,记录了年,月,日,时区差(以分钟计),小时,分钟,秒,毫秒。

SYSTEM_CLOCK

用于决定处理器时钟周期。

程序示例如下:

PROGRAM COM_TIME
IMPLICIT NONE
INTEGER, PARAMETER:: MAX = 400
REAL(8), DIMENSION(MAX, MAX, MAX):: COF
INTEGER(4):: I, J, K
REAL(8):: START1,FINISH1
INTEGER(8):: START2, FINISH2
CHARACTER*10 DATE1, TIME1, PRETTY_TIME1
CHARACTER*10 DATE2, TIME2, PRETTY_TIME2
CHARACTER*10 DATE3, TIME3, PRETTY_TIME3

CALL DATE_AND_TIME( DATE1, TIME1 )
PRETTY_TIME1 = TIME1(1:2) // ‘:’ // TIME1(3:4) // ‘:’ // TIME1(5:10)
DO I= 1, MAX
DO J =1, MAX
DO K = 1, MAX
COF(I, J, K) = 1000.
ENDDO
ENDDO
ENDDO
CALL DATE_AND_TIME( DATE2, TIME2 )
PRETTY_TIME2 = TIME2(1:2) // ‘:’ // TIME2(3:4) // ‘:’ // TIME2(5:10)
PRINT*, ‘TIME START:’, DATE1, PRETTY_TIME1
PRINT*, ‘TIME END:’, DATE2, PRETTY_TIME2

CALL CPU_TIME(START1)
DO I= 1, MAX
DO J =1, MAX
DO K = 1, MAX
COF(I, J, K) = 1000.
ENDDO
ENDDO
ENDDO
CALL CPU_TIME(FINISH1)
WRITE(* , *) “CPU_TIME运算时间为(s):”, FINISH1-START1

CALL SYSTEM_CLOCK(START2)
DO I= 1, MAX
DO J =1, MAX
DO K = 1, MAX
COF(I, J, K) = 1000.
ENDDO
ENDDO
ENDDO
CALL SYSTEM_CLOCK(FINISH2)
WRITE(* , *) “SYSTEM_CLOCK运算时间为(s):”,(FINISH2-START2)/1000000.d0

STOP
END

这里写图片描述

0 0
原创粉丝点击