Как получить время выполнения в консоли рельсов? - PullRequest
90 голосов
/ 19 августа 2010

Я хочу сравнить время выполнения Post.all и SELECT * FROM posts (или некоторые другие операторы) Как я могу получить время выполнения Post.all?

Ответы [ 2 ]

214 голосов
/ 19 августа 2010
timing = Benchmark.measure { Post.all }

Различные атрибуты возвращаемого объекта (Benchmark :: Tms) предоставляются здесь .

3 голосов
/ 05 января 2017

С бенчмарк-ips камень:

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.299k i/100ms
           div:    278.189k i/100ms
           iis:    266.526k i/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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...