Sun Studio 12: Fortran ライブラリ・リファレンス

1.4.8 dtimeetime: 経過実行時間

これらの 2 つの関数は、経過実行時間 (あるいはエラー指示子として -1.0) を返しま す。返される時間は秒単位です。

Fortran 95 が使用する dtimeetime のバージョンは、デフォルトではシステムの低分解能クロックを使用します。分解能は 100 分の 1 秒です。ただし、プログラムが Sun OSTM オペレーティングシステムのユーティリティー ptime(1)、(/usr/proc/bin/ptime) の下で実行された場合は、高分解能クロックが使用されます。

1.4.8.1 dtime: 前回の dtime 呼び出しからの経過時間

dtime の場合、経過時間は次のとおりです。

関数は、次のように呼び出します。

e = dtime( tarray )

tarray

real(2)

出力 

e= -1.0: エラー: tarray 値は未定義

e≠ -1.0: tarray(1) にユーザー時間 (エラーがない場 合)。tarray(2) にシステム時間 (エラーがない場合)

戻り値 

real

出力 

e= -1.0: エラー

e≠ -1.0: tarray(1)tarray(2) の合計時間

例: dtime()、シングルプロセッサ


demo% cat tdtime.f
       real e, dtime, t(2)
       print *, 'elapsed:', e, ', user:', t(1), ', sys:', t(2)
       do i = 1, 10000
        k=k+1
       end do
       e = dtime( t )
       print *, 'elapsed:', e, ', user:', t(1), ', sys:', t(2)
       end
demo% f95 tdtime.f
demo% a.out
elapsed: 0.0E+0 , user: 0.0E+0 , sys: 0.0E+0
 elapsed: 0.03 , user: 0.01 , sys: 0.02
demo%

1.4.8.2 etime: 実行開始からの経過時間

dtime の場合、経過時間は次のとおりです。

実行時ライブラリは、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 プログラミングガイド』も参照してください。