它似乎总是返回0
或15625000000
。
import System.CPUTime
main = do
print =<< getCPUTime
getLine
print =<< getCPUTime
getLine
return ()
执行
>>time.exe
15625000000
15625000000
>>time.exe
0
0
>>time.exe
0
15625000000
>>time.exe
0
0
我在Windows上,我认为这是一个平台相关。
答案 0 :(得分:4)
来自hoogle
getCPUTime :: IO Integer
base System.CPUTime
计算getCPUTime
返回当前程序使用的皮秒数。此结果的精度取决于实现。
可能是windows没有准确的实现并且返回0而不是皮秒数,请注意我在linux或osx上没有看到这种行为。
答案 1 :(得分:3)
getCPUTime
返回进程使用的CPU时间。由于你的过程实际上什么也没做,它总是返回0或下一个最接近它的东西(在你的平台中似乎是15625000000)。请注意,等待输入阻止进程的时间不算作进程的CPU时间。