1

Ruby 1.8.7 を搭載した Mac OS X でメモリ使用量に対してruby​​-profを動作させようとしてきましたが、今のところうまくいきません。

RubyProf::MEMORYmodeには Ruby のパッチが適用されたバージョンが必要であることをドキュメントから理解しています。RVMを使用して、GC パッチを適用したバージョン ( Rails のドキュメントで参照されていることがわかりました) をインストールしようとしました。

rvm reinstall 1.8.7 --patch ruby187gc

このコマンドの出力に基づくと、すべてが良好に見えます。コンソール出力に「Applying patch 'ruby187gc'」とはっきりと表示されます。

RVM gemset を使用しようとすると、問題が発生するようです。これをテストするために、次のスクリプトを作成しました。

require "ruby-prof"

RubyProf.measure_mode = RubyProf::MEMORY
results = RubyProf.profile do
    # code to measure
end

File.open(File.join(File.dirname(__FILE__), "profile-graph.html"), "w") do |file|
  RubyProf::GraphHtmlPrinter.new(results).print(file)
end

このスクリプトrvm use 1.8.7 --patch ruby187gcの前に . ただし、のようなものを試すとrvm use 1.8.7@gemset_name --patch ruby187gc、出力ファイルにはすべての「nan」値が含まれます。

何を与える?パッチを適用したバージョンの Ruby を RVM gemset と一緒に使用するための特別なトリックはありますか? 問題は別の場所にありますか? 私は指を交差させており、誰かが非常によく似た問題に遭遇し、以前にこれを理解したことを願っています.

4

1 に答える 1

3

ああ、私は物事を複雑にしすぎていました。(Rubyにパッチを適用した後)ruby-profgemをアンインストールして再インストールする必要があることがわかりました。

于 2012-11-21T19:19:27.397 に答える