对于 etime,已用时间为:
单处理器执行-调用进程的 CPU 时间
多处理器执行-处理程序时的挂钟时间
如果环境变量 PARALLEL 或 OMP_NUM_THREADS 定义为大于 1 的某个整数值,运行时库就确定程序是在多处理器模式下执行。
该函数的调用方式如下所示:
e = etime( tarray ) |
|||
tarray |
real(2) |
输出 |
e= -1.0:错误:tarray 值未定义 e≠ -1.0:单处理器:tarray(1) 中存储的是用户时间,tarray(2) 中存储的是系统时间 多处理器:tarray(1) 中存储的是挂钟时间,tarray(2) 中存储的是 0.0 |
返回值 |
real |
输出 |
e= -1.0:错误 e≠ -1.0:tarray(1) 与 tarray(2) 之和 |
请注意,初次调用 etime 时所得结果不准确。它只是使系统时钟开始运转。请勿使用初次调用 etime 返回的值。
示例:etime(),单处理器:
demo% cat tetime.f real e, etime, t(2) e = etime(t) ! Startup etime - do not use result do i = 1, 10000 k=k+1 end do e = etime( t ) print *, ’elapsed:’, e, ’, user:’, t(1), ’, sys:’, t(2) end demo% f95 tetime.f demo% a.out elapsed: 0.02 , user: 0.01 , sys: 0.01 demo% |
另请参见 times(2) 和《Fortran 编程指南》。