如何计算我的代码在ocaml中的时间量?有没有什么功能来衡量呢?Ocaml中的运行时间
8
A
回答
15
如果你要测量的各个功能的执行时间,这种效用函数是有用的在许多情况下:
let time f x =
let t = Sys.time() in
let fx = f x in
Printf.printf "Execution time: %fs\n" (Sys.time() -. t);
fx
其中f
是需要x
作为参数的任何功能,返回一些东西
4
您可以使用Sys.time()。它返回自执行开始以来程序使用的处理器时间,以秒为单位。
来源:http://caml.inria.fr/pub/docs/manual-ocaml/libref/Sys.html
11
在我自己的代码中,我使用了Unix.gettimeofday()
,它返回一个浮点值,其分辨率远小于一秒。它的描述在documentation for the OCaml Unix module。尽管模块的名称,该功能也适用于Windows(可能几乎在所有可能遇到的环境中)。
如果我重写垫的答案,我得到了下面的代码:
let time f x =
let start = Unix.gettimeofday()
in let res = f x
in let stop = Unix.gettimeofday()
in let() = Printf.printf "Execution time: %fs\n%!" (stop -. start)
in
res
相关问题
- 1. OCaml mergesort和时间
- 2. 运营商OCaml中
- 3. OCaml中的按位运算
- 4. 运行长时间运行的服务
- 5. 运算符:: OCaml
- 6. Selenium运行时间
- 7. SQL - 运行时间
- 8. 运行时间firebird
- 9. 在运行时间
- 10. TextRank运行时间
- 11. 使用Node.js在Azure中长时间运行的时间间隔
- 12. Insertion-Sort的运行时间
- 13. File.list()的运行时间?
- 14. JavaScript的CONCAT运行时间
- 15. 它运行的时间
- 16. document.getElementById的运行时间
- 17. 循环的运行时间
- 18. MySQL的运行时间
- 19. 函数的运行时间
- 20. 运行时间的算法
- 21. 检查IntelliJ IDEA中的运行时间
- 22. Mathematica中的排列[]运行时间
- 23. PHP在Apache中的运行时间
- 24. Rails中的长时间运行任务
- 25. WebAPI中的长时间运行任务
- 26. Condor中的最大运行时间
- 27. ios7中的长时间运行任务
- 28. Excel中的长时间运行
- 29. 在NetLogo中运行程序的时间
- 30. 在postgres中运行的详细时间
Sys.time()是给不正确运行。它给了一个小程序341.1秒。当我使用unix时间命令时,它只给出了0.001秒。 – priyanka 2012-02-01 06:54:32
我从来没有见过这样的失败。你可以展示你的代码是什么样的? (也许在问题结束时添加它。) – 2012-02-01 07:18:04
在Toplevel中调用Sys.time()将返回Toplevel线程花费运行代码的时间量。 – ben 2012-02-01 22:30:15