データを分析して保存する重いスクリプトを作成していますが、コードのどの行がほとんどの時間を消費しているかを知る必要があります。Rubymineにはプロファイラー機能がありますか、それとも何らかの方法でプロファイラーを追加することは可能ですか?
2307 次
2 に答える
2
私もそれを探していましたが、成功しませんでした。何か見つけたら、教えてください。
一方... Ruby自体には、あなたを助けることができる2つのモジュールがあります
ベンチマーク– http://apidock.com/ruby/Benchmark
あなたはこのようなことをします
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
プロファイリング結果の素敵な表が表示されます
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__
このモジュールを使用する最も簡単な方法はrequire 'profile'
、スクリプトが終了した直後に、各呼び出しに関するデータを吹き飛ばすことです。
この例を確認してくださいhttp://ruby.about.com/od/advancedruby/a/profile.htm
于 2013-06-17T10:17:22.857 に答える