Rails 콘솔에서 실행 시간을 얻는 방법은 무엇입니까?


104

실행 시간 Post.allSELECT * FROM posts다른 명령문을 비교하고 싶습니다. 실행 시간을 Post.all어떻게 얻을 수 있습니까?

답변:


239
timing = Benchmark.measure { Post.all }

반환 된 객체의 다양한 속성 (Benchmark :: Tms)이 여기 에 제공 됩니다 .


5
나는이 게시물이 매우 유용하다는 것을 발견했습니다 : caseyscarborough.com/blog/2013/07/22/…
hernanvicente

@Bohdan benchmark-ips gem과 관련하여 다른 답변이나 의견을 추가하는 것이 더 낫습니까? 당신은 대답을 상당히 많이 편집하여 크게 변경하고 오히려 이미 투표의 적절성을 감소시킵니다.
Shadwell

@Bohdan Upvoted. 새 답변이 더 적절 해지면 언제든지 수락 된 답변을 변경할 수 있습니다.
Shadwell

4

벤치 마크-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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.