処理時間の計測

今日は、curlに関する日記をよく書かれている開発日記さんを引用して

curlだと
let v_start:DateTime = {DateTime}
処理
{output ({DateTime} - v_start) & ":秒かかりました"}
というふうに処理時間を計って原因を特定していきます。


curlではDateTimeオブジェクト同士を減算して、その差をTime型で得ることができます。
ですが、経過時間を求めるだけであれば

{DateTime} - v_start

の部分は

{v_start.elapsed}

と書くことができます。この方が記述がシンプルになるだけでなく、新たなDateTimeオブジェクトの生成を伴わない分、計測される経過時間がより正確です。


ですが、実は経過時間を計測するだけであれば、よりオーバーヘッドの少ないStopWatchクラスを使うことができます。

let sw:StopWatch = {StopWatch}
{sw.start}
||処理
{output {sw.elapsed}}