Raylar konsolunda yürütme süresi nasıl alınır?


104

Yürütme zamanını Post.allve SELECT * FROM posts(veya diğer bazı ifadeleri) karşılaştırmak istiyorum Yürütme zamanını nasıl alabilirim Post.all?

Yanıtlar:


239
timing = Benchmark.measure { Post.all }

Döndürülen nesnenin çeşitli öznitelikleri (Benchmark :: Tms) burada sağlanmıştır .



@Bohdan Benchmark-ips gemine referansla başka bir cevap veya yorum eklemek daha iyi olur mu? Oradaki cevaba oldukça büyük bir düzenleme yaptınız, bu da cevabı önemli ölçüde değiştiriyor ve daha ziyade cevabındaki oyların uygunluğunu azaltıyor.
Shadwell

@Bohdan Olumlu oy verildi. Yeni yanıt daha uygun hale gelirse, kabul edilen yanıtı da her zaman değiştirebilirsiniz.
Shadwell

4

İle kriter-IPS taş:

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.