私は次のようなコードを持っています:
start <- getCPUTime
(_, _, _, ph) <- createProcess (shell shellCmd)
end <- (waitForProcess ph >> getCPUTime)
print start
print end
ご覧のとおり、コードはコマンドを実行し、実行のshellCmd
前後getCPUTime
に値を出力することになっています。ただし、正しく機能しません。時差は常にゼロまたは15625000000
(0.015秒)です。私が理解しているように、理由は怠惰ですが、それを修正する方法を得ることができません。私はインターネット上でいくつかの例を見つけました(そのうちの1つは上にあります)、そしてそれらのどれも私のために働きませんでした。
これを行う正しい方法は何ですか、そしてその理由は何ですか?