如何获得执行时间在轨道控制台?
我想比较执行Post.all
和SELECT * FROM posts
(或其他一些语句)的时间我怎样才能得到Post.all
执行时间?
timing = Benchmark.measure { Post.all }
返回的对象的各种属性(Benchmark :: Tms)在这里提供。
基准ipsgem:
2.3.0 :001 > require 'benchmark/ips' => true 2.3.0 :002 > Benchmark.ips do |x| 2.3.0 :003 > x.report("add: ") { 1+2 } 2.3.0 :004?> x.report("div: ") {1/2} 2.3.0 :005?> x.report("iis: ") {1/2.0} 2.3.0 :006?> end Warming up -------------------------------------- add: 280.299ki/100ms div: 278.189ki/100ms iis: 266.526ki/100ms Calculating ------------------------------------- add: 11.381M (± 4.5%) i/s - 56.901M in 5.010669s div: 9.879M (± 4.6%) i/s - 49.518M in 5.024084s iis: 9.289M (± 4.2%) i/s - 46.376M in 5.001639s