我有一段看起来像这样的代码:
start <- getCPUTime
(_, _, _, ph) <- createProcess (shell shellCmd)
end <- (waitForProcess ph >> getCPUTime)
print start
print end
如您所见,代码应该在执行之前和之后运行命令shellCmd
并打印getCPUTime
值。但是,它工作不正确:时间差始终为零或15625000000
(0.015 秒)。据我了解,原因是懒惰,但不知道如何解决。我在 Internet 上找到了一些示例(其中一个在上面),但没有一个对我有用。
这样做的正确方法是什么,为什么?