種類
- モジュール関数 (88)
- 特異メソッド (55)
- インスタンスメソッド (44)
- モジュール (6)
- ライブラリ (6)
クラス
-
Benchmark
:: Tms (22) -
Zlib
:: ZStream (22)
モジュール
- Benchmark (33)
- GC (11)
-
GC
:: Profiler (44) - ObjectSpace (55)
キーワード
-
Profiler
_ _ (6) - benchmark (11)
- bm (11)
-
count
_ objects (11) -
count
_ objects _ size (11) -
each
_ object (22) - format (11)
- measure (11)
-
memsize
_ of _ all (11) - profile (6)
-
raw
_ data (11) - report (11)
- result (11)
- stat (11)
-
total
_ in (11) -
total
_ out (11) -
total
_ time (11)
検索結果
先頭5件
-
Benchmark
:: Tms # total -> Float (24201.0) -
合計時間。(utime + stime + cutime + cstime)
合計時間。(utime + stime + cutime + cstime) -
GC
:: Profiler . total _ time -> Float (12207.0) -
GC のプロファイル情報から GC の総計時間を計算し、msec 単位で返します。
...GC のプロファイル情報から GC の総計時間を計算し、msec 単位で返します。
//emlist[例][ruby]{
GC::Profiler.enable
GC.start
GC::Profiler.total_time # => 0.0011530000000000012
//}... -
Zlib
:: ZStream # total _ in -> Integer (12201.0) -
ストリームに入力されたデータの総バイト数を返します。
ストリームに入力されたデータの総バイト数を返します。 -
Zlib
:: ZStream # total _ out -> Integer (12201.0) -
ストリームの出力したデータの総バイト数を返します。
ストリームの出力したデータの総バイト数を返します。 -
GC
:: Profiler . result -> String (6124.0) -
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......Time
Ruby が起動してから GC が起動するまでに経過した時間
: Use Size
ヒープ内での使用サイズ
: Total Size
ヒープ全体のサイズ
: Total Object
ヒープ内に存在するオブジェクトの個数
: GC Time
GC の処理時間
@see GC::Profiler.report... -
ObjectSpace
. # memsize _ of _ all(klass = nil) -> Integer (6118.0) -
すべての生存しているオブジェクトが消費しているメモリ使用量をバイト単位 で返します。
...すべての生存しているオブジェクトが消費しているメモリ使用量をバイト単位
で返します。
@param klass 指定したクラスのインスタンスのメモリ使用量を返します。省略
した場合はすべてのクラスのインスタンス......のような Ruby のコードで定義できます。
//emlist[例][ruby]{
def memsize_of_all klass = false
total = 0
ObjectSpace.each_object{|e|
total += ObjectSpace.memsize_of(e) if klass == false || e.kind_of?(klass)
}
total
end
//}
戻り値の内容は完全ではない事に注......くまでもヒ
ントとして扱う必要があります。特に T_DATA の値は正しくないでしょう。
また、同様に戻り値の内容は malloc されたメモリの合計でもない事に注意し
てください。
本メソッドは C Ruby 以外では動作しません。... -
Profiler
_ _ (6006.0) -
プロファイラの実装です。 Profiler__.start_profile 実行から、Profiler__.stop_profile までの 区間の実行コードのプロファイルを取得します。
...イラの実装です。
Profiler__.start_profile 実行から、Profiler__.stop_profile までの
区間の実行コードのプロファイルを取得します。
以下の使用例を参照してください。
require 'profiler'
Profiler__.start_profile
require 'tk' # この......iler__.print_profile(STDOUT)
# =>
% cumulative self self total
time seconds seconds calls ms/call ms/call name
51.64 1.10 1.10 3 366.67 776.67 Kernel.require
17.37 1.47 0.37 1 370.00 370.00 TclTkIp#initial......19 514 0.37 0.37 Module#method_added
6.57 1.80 0.14 1 140.00 140.00 Profiler__.start_profile
4.23 1.89 0.09 15 6.00 10.67 Kernel.extend
3.29 1.96 0.07 15 4.67 4.67 Module#extend_object
3.29 2.03... -
profile (6006.0)
-
Ruby プログラムのためのプロファイラです。 プロファイラとは効率改善のための調査に用いられるツールのことです。 profile ライブラリは各メソッドの実行時間に関する統計を出力します。
...rofile ライブラリは各メソッドの実行時間に関する統計を出力します。
profile はそれ自身がオーバーヘッドになる
ためメソッド呼び出しあたりの処理時間がかなり遅くなります。
=== 使い方
以下のように、ruby に -r profile......オプションを付けて実行します。
$ ruby -r profile foo.rb
foo.rb の実行が終わると標準エラー出力にプロファイルが出力されます。
プロファイルは各メソッドの実行時間に関する統計からなりますが、
この時間には大きく分......次のようになります。
$ ruby -r profile sample/sieve.rb 1000
2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47 … 略 …
% cumulative self self total
time seconds seconds calls ms/call ms/call name
33.87 1.49 1.49 11 135.... -
GC
:: Profiler . raw _ data -> [Hash , . . . ] | nil (3124.0) -
GC のプロファイル情報を GC の発生ごとに Hash の配列 (:GC_INVOKE_TIME が早いもの順)で返します。GC::Profiler が有効になっ ていない場合は nil を返します。
...GC::Profiler が有効になっ
ていない場合は nil を返します。
例:
GC::Profiler.enable
GC.start
GC::Profiler.raw_data
# => [
{
:GC_TIME=>1.3000000000000858e-05,
:GC_INVOKE_TIME=>0.010634999999999999,
:HEAP_USE_SIZE=>289640,
:HEAP_TOTAL_SIZE=>5......88960,
:HEAP_TOTAL_OBJECTS=>14724,
:GC_IS_MARKED=>false
},
# ...
]
各項目の意味を以下に示します。
: :GC_TIME
GC の処理時間(秒)
: :GC_INVOKE_TIME
Ruby が起動してから GC が起動するまでに経過した時間(秒)
: :HEAP_USE_SIZE......使用サイズ(バイト)
: :HEAP_TOTAL_SIZE
ヒープ全体のサイズ(バイト)
: :HEAP_TOTAL_OBJECTS
ヒープ内に存在するオブジェクトの個数
: :GC_IS_MARKED
GC がマークフェイズかどうか
また、GC_PROFILE_MORE_DETAIL を有効にして Ruby をビルド... -
GC
:: Profiler . report(out = $ stdout) -> nil (3112.0) -
GC::Profiler.result の結果を out に出力します。
...::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 Size(......byte) Total Object GC Time(ms)
# 1 0.019 303720 1269840 31746 1.25899999999999967493
//}
@see GC::Profiler.result...