10 time profiling haskell measurement execution
如何在Haskell中通过系统时间函数获取程序的运行时间?我想测量整个程序和/或单个函数的执行时间.
Tho*_*son 21
1)如果要对某些内容进行基准测试,请使用标准包.
2)如果你想时间的函数及正你已经控制了需要懒惰,那么就使用Data.Time.getCurrentTime从时间包:
import Data.Time
...
start <- getCurrentTime
runOperation
stop <- getCurrentTime
print $ diffUTCTime stop start
Run Code Online (Sandbox Code Playgroud)
3)如果您确实想要恰好在Haskell中编写的程序的运行时间,那么请使用您的系统time实用程序.对于大多数POSIX系统(Mac,Linux),只需运行:
$ time ./SomeProgram
Run Code Online (Sandbox Code Playgroud)
它将报告用户,墙壁和系统时间.
Don*_*art 11
假设您不只是想测量程序的总运行时间,如下所示:
$ time ./A
Run Code Online (Sandbox Code Playgroud)
然后你可以在Haskell中计算多种方法:
对于更统计的声音测量,请考虑
最后,在所有情况下,您需要考虑延迟评估:您是否想要衡量完全评估您生成的数据的成本,还是仅仅考虑其最外层的构造函数?
| 归档时间: |
|
| 查看次数: |
8048 次 |
| 最近记录: |