2009-10-23 69 views

回答

42

这些都是同一倍的Unix time命令或其他典型的基准测试工具将报告:

  • 用户:的时间量花在执行用户空间代码(即:你的代码),
  • 系统:的时间量花在执行内核代码和
  • 真正:时间的“真正的”量花费执行代码(即系统 + 用户 +等待I/O,网络,磁盘,用户输入等所花费的时间)。也被称为“挂钟时间”。
+0

优秀。谢谢。 – Ethan 2009-10-23 23:36:32

+0

@jorg基准测试的Ruby文档是否出现错误,因为它们显示的实时比总时间短得多?资料来源:http://ruby-doc.org/stdlib-1.9.3/libdoc/benchmark/rdoc/Benchmark.html – rscott 2012-08-28 14:27:09

+2

@rscott:用户,系统和总数是指所有内核之间的时间总和,而真正的只是字面总时间。因此,如果代码运行在多核系统上,前三者中的任何一个都可以超过后者。 – Sparhawk 2013-03-12 23:59:10

-2

请检查这种宝石: https://github.com/igorkasyanchuk/benchmark_methods

没有这样的更多的代码:

t = Time.now 
user.calculate_report 
puts Time.now - t 

现在你可以这样做:

benchmark :calculate_report # in class 

并调用你的方法

user.calculate_report