2012-11-14 19 views
8

Bunun mümkün olup olmadığı konusunda herhangi bir bilgi bulamadım, ancak rails console numaralı belgede bir komut üzerinde bir yöntemi çağırabilir ve herhangi bir ölçümü kullanarak performansı belirleyebilirdim, ancak çoğunlukla zaman içinde düşünüyordum.Konsolda bir komutun performansını Ruby on Rails'de kontrol etmenin bir yolu var mı?

[val2,val3,val4,val5,val6].find{|x| x != val1} 
[val2,val3,val4,val5,val6].all?{|x| x == val1} 

böyle bir şey var mı: Örneğin

, ben hızlıdır bunlardan hangisinin anlamaya çalışıyorum?

[val2,val3,val4,val5,val6].find{|x| x != val1}.performance 

cevap

16

Ve Rails'e bile ihtiyacınız yok. Standart kitaplıktan benchmark'a bakın. örnek olan

: çıkışı (saniye cinsinden) gösterecektir olduğunu

require 'benchmark' 

puts Benchmark.measure { [val2,val3,val4,val5,val6].find{|x| x != val1} } 
puts Benchmark.measure { [val2,val3,val4,val5,val6].all?{|x| x == val1} } 

raporu:

  • Kullanıcı işlemci zamanı.
  • Sistem İşlemci süresi.
  • Kullanıcı ve Sistem CPU zamanlarının toplamı.
  • Geçen gerçek zaman. şöyle

şey:

0.350000 0.010000 0.360000 ( 0.436450) 
+0

diyoruz o konsolunda bu çalıştırmak mümkün mü? Proje kodunun kendisinde olması gerekenden çok, geçici tür şeyler çalıştırmak istiyorum. – perseverance

+0

@persistence: evet, bu örnek kodu doğrudan konsoldan çalıştırabilirsiniz. – pje

İlgili konular