タグ

ブックマーク / docs.ruby-lang.org (3)

  • library profile (Ruby 1.9.3)

    要約 Ruby プログラムのためのプロファイラです。 プロファイラとは効率改善のための調査に用いられるツールのことです。 profile ライブラリは各メソッドの実行時間に関する統計を出力します。 profile はそれ自身がオーバーヘッドになる ためメソッド呼び出しあたりの処理時間がかなり遅くなります。 使い方 以下のように、ruby に -r profile オプションを付けて実行します。 $ ruby -r profile foo.rb foo.rb の実行が終わると標準エラー出力にプロファイルが出力されます。 プロファイルは各メソッドの実行時間に関する統計からなりますが、 この時間には大きく分けて 2 種類あります。 ひとつは、メソッドが呼び出されてから返るまでの時間です。 もうひとつは、全体の時間からそのメソッド内で行なわれた 他の呼び出しに費やしたすべての時間を引いた時間です。

    sonots
    sonots 2014/07/29
  • library tracer (Ruby 1.9.3)

    要約 実行トレース出力をとる機能を提供します。 使い方は大きく分けて2通り。 ひとつは以下のようにコマンドラインから Kernel.#require する方法です。 hoge.rb の実行をすべてトレース出力します。 ruby -rtracer hoge.rb もうひとつはソースからrequireする方法です。 require 'tracer' とした後 Tracer.on によりトレース出力を有効にします。 Tracer.off によりトレース出力を無効にします。 また、ブロック付きで Tracer.on を呼び出すと、そのブロック内のみ トレースを出力します。 サンプルコード # 例: 式の評価の中でHogeクラスのメソッドが呼び出される時、トレースする。 # ruby 1.8 では警告がでますが、動作します。 require 'tracer' class Hoge def Hoge.

    sonots
    sonots 2014/07/29
  • module function Kernel.#set_trace_func (Ruby 1.9.3)

    set_trace_func(proc) -> Proc[permalink][rdoc] Ruby インタプリタのイベントをトレースする Proc オブジェクトとして 指定された proc を登録します。 nil を指定するとトレースがオフになります。 Ruby インタプリタがプログラムを実行する過程で、メソッドの呼び出しや 式の評価などのイベントが発生する度に、以下で説明する6個の引数とともに 登録された Proc オブジェクトを実行します。 標準添付の debug、tracer、 profile はこの組み込み関数を利用して実現されています。 ブロックパラメータの意味 渡す Proc オブジェクトのパラメータは proc{|event, file, line, id, binding, klass| ... } で、意味は以下の通りです。 event 実行のタイプを表す、以下のいずれ

    sonots
    sonots 2014/07/29
  • 1