打印

[其它主题] 讨论:Benchmark的用法

讨论:Benchmark的用法

看到bbschat抱怨Benchmark写代码不太方便,自己也有这样的感觉,
大家来讨论下平时都是怎么写benchmark的
我的:

require 'benchmark'

def test1
  #...
end

def test2
  #...
end

Benchmark.bm do |x|
  x.report("test1") {test1}
  x.report("test2") {test2}
end


Digging ruby with Pickaxe,
Running agilely on rails

TOP

应该有办法包装一下 benchmark
然后代码最前面加一行,尾部加一行,然后出现结果
就好像现在大家常用的

t0 = Time.now
.........
p Time.now - t0

一样。

或者做个专用测试文件,通过调用要测试的程序文件来生成测试评估结果。
这是我的大致想法,目前这样子确实有点麻烦。

TOP

benchmark_hack.rb
==
Benchmark.module_eval do
 def realtime
  r0 = Time.now
  yield
  r1 = Time.now
  r1.to_f - r0.to_f
 end
 module_function :realtime
end

TOP

2008-11-23 22:22 Crawled by CCBot/1.0 (+http://www.commoncrawl.org/bot.html) @38.103.63.61