我可以使用什么来分析 1.9.2 中的代码?我发现 ruby-prof 的所有版本都针对 1.9.2 存在段错误。
例如,当我添加
gem "ruby-prof"
到我的 Rails 项目的 Gemfile 并运行
bundle
bundle exec ruby-prof config/environment.rb
我得到一个段错误。
镇上有没有新的分析宝石?有没有办法让 ruby-prof 玩得更好?
正如@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`
不确定它是否有帮助,但我偶然发现这可能会增加一点清晰度或引导您走上不同的道路: http: //www.devheads.net/development/ruby/core/segmentation-fault-when-using-ruby-教授和红宝石192.htm。您可能想根据该线程查看 wycats 的分叉:https ://github.com/wycats/ruby-prof
此外,我自己还没有尝试过,它可能不是你正在寻找的,但 Github 的 Aman 有一个用于 Ruby 的 google-perftools 端口: https ://github.com/tmm1/perftools.rb
您可以使用另一个流行的分析器工具 - MethodProfiler
在目标类中找到慢方法非常方便。