首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在分析ruby应用程序时,有没有可能忽略不相关的方法?

在分析ruby应用程序时,有没有可能忽略不相关的方法?
EN

Stack Overflow用户
提问于 2010-02-11 08:47:10
回答 2查看 440关注 0票数 2

当使用ruby-prof时,以graph-html模式打印出来,一个方法的报告显示(带有一些片段)

代码语言:javascript
复制
%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,而是Hash#each中的yield块。

查看Hash#each的报告会让人感到困惑,因为它会报告任何使用Hash#each的代码调用的所有代码。

有没有可能要求ruby-prof将生成代码的信息放在ClassName#method_name的报告中?

使用min_percent或切换到平面配置文件似乎没有帮助。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-27 13:11:49

ruby-prof的0.9.0版允许method elimination。例如,要消除Integer#times,请使用

代码语言:javascript
复制
result = RubyProf.stop
result.eliminate_methods!([/Integer#times/])

所以

代码语言:javascript
复制
def method_a
  5.times {method_b}
end

将直接指示method_amethod_b之间的关系。

票数 2
EN

Stack Overflow用户

发布于 2010-02-11 09:51:46

如果你不介意低技术,也许你想考虑一下this。您所需要的就是能够暂停调试器。我保证,它会迅速找到任何你可以找到的任何其他方式,并且不会向你显示任何不相关的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2241491

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档