2013-02-17 14 views
6

Ich erstelle schwere Skript, die die Daten analysieren und speichern und ich muss wirklich wissen, welche Zeilen meines Codes die meiste Zeit verbrauchen. Hat Rubymine Profiler-Funktionen oder ist es irgendwie möglich, einen Profiler hinzuzufügen?Profiler in Rubymine

Antwort

2

Ich suchte es auch, aber ohne Erfolg. Wenn Sie etwas finden, lassen Sie es mich wissen.

Inzwischen ... In Ruby selbst gibt es zwei Module, die Sie

Benchmarkhttp://apidock.com/ruby/Benchmark

Sie tun so etwas wie dieses

require 'benchmark' 

n = 50000 
Benchmark.bm(7) do |x| 
    x.report("for:") { for i in 1..n; a = "1"; end } 
    x.report("times:") { n.times do ; a = "1"; end } 
    x.report("upto:") { 1.upto(n) do ; a = "1"; end } 
end 

helfen könnte, und es wird Ihnen schöne geben Tabelle der Profilergebnissen

   user  system  total  real 
for:  1.050000 0.000000 1.050000 ( 0.503462) 
times: 1.533333 0.016667 1.550000 ( 0.735473) 
upto: 1.500000 0.016667 1.516667 ( 0.711239) 

Profiler__http://apidock.com/ruby/Profiler__

Der einfachste Weg, um dieses Modul zu verwenden, ist nur require 'profile' und nach dem Skript Finish es zu jedem Rufdaten ausblasen.

Überprüfen Sie dieses Beispiel http://ruby.about.com/od/advancedruby/a/profile.htm