8

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

例如,当我添加

gem "ruby-prof"

到我的 Rails 项目的 Gemfile 并运行

bundle
bundle exec ruby-prof config/environment.rb

我得到一个段错误。

镇上有没有新的分析宝石?有没有办法让 ruby​​-prof 玩得更好?

4

3 回答 3

2

正如@chris.baglieri 建议的那样,您可以使用perftools.rbgem 来分析 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`
于 2012-09-17T18:39:21.707 回答
2

不确定它是否有帮助,但我偶然发现这可能会增加一点清晰度或引导您走上不同的道路: 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

于 2011-03-09T13:48:24.423 回答
2

您可以使用另一个流行的分析器工具 - MethodProfiler

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

于 2012-09-17T18:57:40.563 回答