ライブラリ
- ビルトイン (88)
モジュール
-
GC
:: Profiler (88)
キーワード
-
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (11) - clear (11)
- disable (11)
- enabled? (11)
-
raw
_ data (11) - report (11)
- result (11)
-
total
_ time (11)
検索結果
先頭5件
-
GC
:: Profiler . enable -> nil (24107.0) -
GC のプロファイラを起動します。
...GC のプロファイラを起動します。
このメソッドを呼び出してから GC が発生すると、
GC についてプロファイル情報を取得します。
例:
GC::Profiler.enable
GC::Profiler.enabled? #=> true
@see GC::Profiler.disable, GC::Profiler.enabled?... -
GC
:: Profiler . enabled? -> bool (12112.0) -
GC のプロファイラを起動中であれば true、停止中であれば false を返します。
...プロファイラを起動中であれば true、停止中であれば false を返します。
例:
GC::Profiler.enabled? #=> false
GC::Profiler.enable
GC::Profiler.enabled? #=> true
GC::Profiler.disable
GC::Profiler.enabled? #=> false
@see GC::Profiler.enable, GC::Profiler.disable... -
GC
:: Profiler . raw _ data -> [Hash , . . . ] | nil (6012.0) -
GC のプロファイル情報を GC の発生ごとに Hash の配列 (:GC_INVOKE_TIME が早いもの順)で返します。GC::Profiler が有効になっ ていない場合は nil を返します。
...生ごとに Hash の配列
(:GC_INVOKE_TIME が早いもの順)で返します。GC::Profiler が有効になっ
ていない場合は nil を返します。
例:
GC::Profiler.enable
GC.start
GC::Profiler.raw_data
# => [
{
:GC_TIME=>1.3000000000000858e-05,
:GC_INVOKE_TIM......、GC_PROFILE_MORE_DETAIL を有効にして Ruby をビルドした場合、以下の
キーも参照できます。
* :GC_MARK_TIME
* :GC_SWEEP_TIME
* :ALLOCATE_INCREASE
* :ALLOCATE_LIMIT
* :HEAP_USE_SLOTS
* :HEAP_LIVE_OBJECTS
* :HEAP_FREE_OBJECTS
* :HAVE_FINALIZE
@see GC::Profiler.repor......t, GC::Profiler.result... -
GC
:: Profiler . clear -> nil (6006.0) -
蓄積している GC のプロファイル情報をすべて削除します。
...プロファイル情報をすべて削除します。
例:
GC::Profiler.enable
GC.start
GC.start
GC::Profiler.report #=> 2 回分の GC のプロファイル情報出力する。
GC::Profiler.clear
GC.start
GC::Profiler.report #=> 1 回分の GC のプロファイル情報出力す... -
GC
:: Profiler . disable -> nil (6006.0) -
GC のプロファイラを停止します。
...停止します。
例:
GC::Profiler.disable
GC::Profiler.enabled? #=> false
このメソッドでは、蓄積したプロファイル情報は破棄しません。
破棄したい場合は GC::Profiler.clear を呼び出してください。
@see GC::Profiler.enable, GC::Profiler.enabled?... -
GC
:: Profiler . report(out = $ stdout) -> nil (6006.0) -
GC::Profiler.result の結果を out に出力します。
...GC::Profiler.result の結果を out に出力します。
@param out 結果の出力先を指定します。デフォルトは $stdout です。
//emlist[例][ruby]{
GC::Profiler.enable
GC.start
GC::Profiler.report
# => GC 4 invokes.
# Index Invoke Time(sec) Use Size(byte) Total Si......ze(byte) Total Object GC Time(ms)
# 1 0.019 303720 1269840 31746 1.25899999999999967493
//}
@see GC::Profiler.result... -
GC
:: Profiler . result -> String (6006.0) -
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......Time
Ruby が起動してから GC が起動するまでに経過した時間
: Use Size
ヒープ内での使用サイズ
: Total Size
ヒープ全体のサイズ
: Total Object
ヒープ内に存在するオブジェクトの個数
: GC Time
GC の処理時間
@see GC::Profiler.report... -
GC
:: Profiler . total _ time -> Float (6006.0) -
GC のプロファイル情報から GC の総計時間を計算し、msec 単位で返します。
...GC のプロファイル情報から GC の総計時間を計算し、msec 単位で返します。
//emlist[例][ruby]{
GC::Profiler.enable
GC.start
GC::Profiler.total_time # => 0.0011530000000000012
//}... -
1
. 6 . 8から1 . 8 . 0への変更点(まとめ) (390.0) -
1.6.8から1.8.0への変更点(まとめ) * ((<1.6.8から1.8.0への変更点(まとめ)/インタプリタの変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたクラス/モジュール>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加されたメソッド>)) * ((<1.6.8から1.8.0への変更点(まとめ)/追加された定数>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張されたクラス/メソッド(互換性のある変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/変更されたクラス/メソッド(互換性のない変更)>)) * ((<1.6.8から1.8.0への変更点(まとめ)/文法の変更>)) * ((<1.6.8から1.8.0への変更点(まとめ)/正規表現>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Marshal>)) * ((<1.6.8から1.8.0への変更点(まとめ)/Windows 対応>)) * ((<1.6.8から1.8.0への変更点(まとめ)/廃止された(される予定の)機能>)) * ((<1.6.8から1.8.0への変更点(まとめ)/ライブラリ>)) * ((<1.6.8から1.8.0への変更点(まとめ)/拡張ライブラリAPI>)) * ((<1.6.8から1.8.0への変更点(まとめ)/バグ修正>)) * ((<1.6.8から1.8.0への変更点(まとめ)/サポートプラットフォームの追加>))
...り、(({$?})) の値も整数からこのクラ
スのインスタンスになりました。
=== クラス階層
: ((<File::Constants>))
File::Constants は、File クラスでなく IO クラスが include するように
なりました。((<ruby-dev:20964>))
: ((<UnboundMethod>)) [com......n32/registry">)) [new]
Win32でレジストリにアクセスするためのライブラリが追加されました。
: ((<profiler>)) [lib] [new]
追加。((<profile>)) の実体として分離されました。
: ((<open-uri>)) [lib] [new]
追加
: ((<set>)) [lib] [new]
追加
: ((......e>)) メソッドの定義に使用します。
((<ruby-dev:19116>))
: rb_enable_super() [api]
: rb_disable_super() [api]
ChangeLog によると、これらの関数は必要なくなったようです。
(rb_enable_super() を呼ぶと warning が出ます)。以前は、拡張ライブラ...