Ruby 1.9.3 リファレンスマニュアル > ライブラリ一覧 > 組み込みライブラリ > GC::Profilerモジュール
クラスの継承リスト: GC::Profiler
GC の起動回数や起動したタイミング、処理時間などの GC に関するプロファイル 情報や、ヒープ全体のサイズ、ヒープ内での使用サイズやヒープ内に存在する オブジェクトの個数といった情報を扱うモジュールです。
@see GC
clear -> nil
[permalink][rdoc]蓄積している GC のプロファイル情報をすべて削除します。
例:
GC::Profiler.enable GC.start GC.start GC::Profiler.report #=> 2 回分の GC のプロファイル情報出力する。 GC::Profiler.clear GC.start GC::Profiler.report #=> 1 回分の GC のプロファイル情報出力する。
disable -> nil
[permalink][rdoc]GC のプロファイラを停止します。
例:
GC::Profiler.disable GC::Profiler.enabled? #=> false
このメソッドでは、蓄積したプロファイル情報は破棄しません。 破棄したい場合は GC::Profiler.clear を呼び出してください。
[SEE_ALSO] GC::Profiler.enable, GC::Profiler.enabled?
enable -> nil
[permalink][rdoc]GC のプロファイラを起動します。
このメソッドを呼び出してから GC が発生すると、 GC についてプロファイル情報を取得します。
例:
GC::Profiler.enable GC::Profiler.enabled? #=> true
[SEE_ALSO] GC::Profiler.disable, GC::Profiler.enabled?
enabled? -> bool
[permalink][rdoc]GC のプロファイラを起動中であれば true、停止中であれば false を返します。
例:
GC::Profiler.enabled? #=> false GC::Profiler.enable GC::Profiler.enabled? #=> true GC::Profiler.disable GC::Profiler.enabled? #=> false
[SEE_ALSO] GC::Profiler.enable, GC::Profiler.disable
report(out = $stdout) -> nil
[permalink][rdoc]GC::Profiler.result の結果を out に出力します。
[SEE_ALSO] GC::Profiler.result
result -> String
[permalink][rdoc]GC のプロファイル情報をフォーマットし、文字列として返します。
プロファイル情報は、GC の発生ごとに集計します。 以下は、5 回 GC が発生した場合の実行例です。
$ ruby -e "GC::Profiler.enable; a = Array.new(100000){ 'aa' }; puts GC::Profiler.result" GC 5 invokes. Index Invoke Time(sec) Use Size(byte) Total Size(byte) Total Object GC Time(ms) 1 0.012 165600 212940 10647 0.00000000000000000000 2 0.016 343700 360360 18018 0.00000000000000014129 3 0.024 605620 622440 31122 0.00000000000000008843 4 0.028 1080280 1097460 54873 0.40010000000000001119 5 0.044 1931420 1949220 97461 0.40009999999999984466
各項目の意味を以下に示します。
GC の起動回数
Ruby が起動してから GC が起動するまでに経過した時間
ヒープ内での使用サイズ
ヒープ全体のサイズ
ヒープ内に存在するオブジェクトの個数
GC の処理時間
[SEE_ALSO] GC::Profiler.report
total_time -> Float
[permalink][rdoc]GC のプロファイル情報から GC の総計時間を計算し、msec 単位で返します。