2

グラフ-htmlモードで印刷されたruby-profを使用している間、1つの方法のレポートには(多少の切り取りがあります)と書かれています。

%Total       %Self       Total       Self    Wait    Child       Calls      Name    Line
52.85%       0.00%       51.22       0.00    0.00    51.22       1  ClassName#method_name  42
                         51.22       0.00    0.00    51.22       1/3        Hash#each  4200

明らかに、それHash#eachは長い時間がかかることではありませんが、 yieldHash#each内のブロックです。

Hash#eachのレポートを見ると、Hash#eachを使用するものによって呼び出されたすべてのコードがレポートされるため、混乱を招きます。

ClassName#method_name生成されたコードに関する情報をのレポートに入れるようにruby-profに依頼することは可能ですか?

フラットプロファイルの使用min_percentまたは切り替えは役に立たないようです。

4

2 に答える 2

2

ruby-profのバージョン0.9.0では、メソッドを削除できます。たとえば、を削除するInteger#timesには、

result = RubyProf.stop
result.eliminate_methods!([/Integer#times/])

となることによって

def method_a
  5.times {method_b}
end

との関係method_amethod_b直接示します。

于 2010-07-27T05:11:49.290 に答える
0

ローテクを気にしないのであれば、これを検討したいと思うかもしれません。必要なのは、デバッガーを一時停止できるようにすることだけです。保証されているので、他の方法で見つけることができるものはすべてすばやく検索され、無関係なコードは表示されません。

于 2010-02-11T01:51:45.973 に答える