Tworzę ciężki skrypt, który analizuję i przechowuję dane i naprawdę potrzebuję wiedzieć, które linie mojego kodu pochłaniają większość czasu. Czy Rubymine ma funkcje profilera, czy może jest możliwe dodanie do niego profilera?profiler w rubyminie
6
A
Odpowiedz
2
Szukałem tego również, ale bez powodzenia. Jeśli coś znajdziesz, daj mi znać.
... W międzyczasie Sam Ruby istnieją dwa moduły, które mogą Ci pomóc
Benchmark – http://apidock.com/ruby/Benchmark
Robisz coś takiego
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
i to daje ładny tabela wyników profilowania
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__
Najprostszym sposobem korzystania z tego modułu jest tylko require 'profile'
i po wykończenie skryptu to zdmuchnąć dane o każdym połączeniu.
Sprawdź ten przykład: http://ruby.about.com/od/advancedruby/a/profile.htm