如何在1.9.2中分析Ruby代码?

时间:2011-03-08 21:50:38

标签: ruby profiling ruby-prof

我可以用什么来分析1.9.2中的代码?所有版本的ruby-prof我都发现了针对1.9.2的段错误。

例如,当我添加

gem "ruby-prof"

到我的Rails项目的Gemfile并运行

bundle
bundle exec ruby-prof config/environment.rb

我遇到了段错误。

镇上有新的剖析宝石吗?有没有办法让ruby-prof玩得好听?

3 个答案:

答案 0 :(得分:2)

不确定它是否有帮助,但我偶然发现了这可能会增加更多的清晰度或引导您走另一条道路:http://www.devheads.net/development/ruby/core/segmentation-fault-when-using-ruby-prof-and-ruby-192.htm。您可能想要根据该线程查看wycats的fork:https://github.com/wycats/ruby-prof

另外,我自己也没试过,它可能不是你想要的但是Github的Aman有一个用于Ruby的google-perftools端口: https://github.com/tmm1/perftools.rb

答案 1 :(得分:2)

正如@ chris.baglieri建议的那样,您可以使用perftools.rb gem来分析Ruby 1.9代码。

gem install perftools.rb

然后

require 'perftools'
PerfTools::CpuProfiler.start('profile_data') do
  # something cpu-intensive
end
`pprof.rb --text profile_data profile.txt`
`pprof.rb --pdf  profile_data profile.pdf`

答案 2 :(得分:2)

您可以使用其他常用的分析工具 - MethodProfiler

在目标类中找到慢速方法非常方便。