ruby-on-rails - Ruby 方法的测量和基准测试时间

标签 ruby-on-rails ruby time benchmarking interpreter

我如何测量 Ruby 中方法和该方法中的各个语句所花费的时间。如果您看到下面的方法,我想测量该方法所花费的总时间以及数据库访问和 redis 访问所花费的时间。我不想在每条语句之前都写 Benchmark.measure 。 ruby 解释器是否为我们提供了执行此操作的任何钩子(Hook)?

def foo
# code to access database
# code to access redis. 
end

最佳答案

最简单的方法:

require 'benchmark'

def foo
 time = Benchmark.measure {
  code to test
 }
 puts time.real #or save it to logs
end

示例输出:

2.2.3 :001 > foo
  5.230000   0.020000   5.250000 (  5.274806)

值为:CPU 时间、系统时间、总时间和实际耗时。

来源:ruby docs .

关于ruby-on-rails - Ruby 方法的测量和基准测试时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11406410/

相关文章:

ruby - 通过 Test::Unit 查看异常消息是否与 Ruby 中的已知字符串匹配

php - 使用 PHP strtotime() 函数

ruby-on-rails - 比较 ruby​​ on rails 中的两个日期给出错误 - "can' t 将日期转换为字符串”

ruby-on-rails - 如果我有 Stripe 卡 token ,我该如何检索客户 ID?

ruby-on-rails - "No such file or directory @ rb_sysopen"使用 OpenURI

ruby - ruby 数组中的空间按 %w

ruby - 这个 ruby​​ 代码线程安全吗?

python - 事件目录 - Django/Rails

c - time() 在调试(JTAG)时可以,在片上运行时则不行。如何使用嵌入式进程计时?

javascript - setInterval 递增得更快