2013-02-17 8 views
6

Creazione di script pesanti che analizzano e archiviano i dati e ho davvero bisogno di sapere quali righe del mio codice consumano la maggior parte del tempo. Is Rubymine ha funzionalità di profiler o forse è possibile aggiungere profiler ad esso in qualche modo?profiler in rubino

risposta

2

Lo stavo cercando anche, ma senza successo. Se trovi qualcosa, faccelo sapere.

Nel frattempo ... In Ruby stesso ci sono due moduli che potrebbero aiutare a

Benchmarkhttp://apidock.com/ruby/Benchmark

Tu fai qualcosa di simile

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 

e vi darà bello tabella dei risultati di profilazione

   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__

modo più semplice per utilizzare questo modulo è solo require 'profile' e dopo il vostro script finale soffiare fuori i dati su ogni chiamata.

Verificare questo esempio http://ruby.about.com/od/advancedruby/a/profile.htm