クラス
-
Benchmark
:: Job (5) -
Benchmark
:: Report (4) -
Benchmark
:: Tms (20)
モジュール
- Benchmark (8)
キーワード
- * (1)
- + (1)
- - (1)
-
/ (1) -
BENCHMARK
_ VERSION (1) - Benchmark (1)
- CAPTION (2)
- FORMAT (2)
- Job (1)
- Report (1)
- Tms (1)
- add (1)
- add! (1)
- bm (1)
- bmbm (1)
- cstime (1)
- cutime (1)
- format (1)
- item (2)
- label (1)
- list (2)
- measure (1)
- memberwise (1)
- new (3)
- real (1)
- realtime (1)
- report (2)
- stime (1)
-
to
_ a (1) -
to
_ s (1) - total (1)
- utime (1)
- width (1)
検索結果
先頭5件
- Benchmark
. # benchmark(caption = "" , label _ width = nil , fmtstr = nil , *labels) {|rep| . . . } -> [Benchmark :: Tms] - Benchmark
:: BENCHMARK _ VERSION -> String - Benchmark
. # bm(label _ width = 0 , *labels) {|rep| . . . } -> [Benchmark :: Tms] - Benchmark
. # measure(label = "") { . . . } -> Benchmark :: Tms - Benchmark
. # bmbm(width = 0) {|job| . . . } -> [Benchmark :: Tms]
-
Benchmark
. # benchmark(caption = "" , label _ width = nil , fmtstr = nil , *labels) {|rep| . . . } -> [Benchmark :: Tms] (105949.0) -
Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。
...
Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。
基本的には以下のように使います。
ブロックが Benchmark::Tms オブジェクトの配列を返した場合は、
それらの数値も追加の行に表示......tstr フォーマット文字列を指定します。
この引数を省略すると Benchmark::FORMAT が使用されます。
@param labels ブロックが Benchmark::Tms オブジェクトの配列を返す場合に指定します。
=== フォーマット文字列
フ......。Benchmark::Tms#utime
: %y
system CPU time で置き換えられます(Mnemonic: y of "s*y*stem")。Benchmark::Tms#stime
: %U
子プロセスの user CPU time で置き換えられます。Benchmark::Tms#cutime
: %Y
子プロセスの system CPU time で置き換えられます。Benchmark::... -
Benchmark
:: BENCHMARK _ VERSION -> String (69358.0) -
benchmark ライブラリのバージョンを表します。
...
benchmark ライブラリのバージョンを表します。... -
Benchmark
. # bm(label _ width = 0 , *labels) {|rep| . . . } -> [Benchmark :: Tms] (51604.0) -
Benchmark.#benchmark メソッドの引数を簡略化したものです。
...
Benchmark.#benchmark メソッドの引数を簡略化したものです。
Benchmark.#benchmark メソッドと同様に働きます。
@param label_width ラベルの幅を指定します。
@param labels ブロックが Benchmark::Tms オブジェクトの配列を返す場合に指定し......ます。
//emlist[][ruby]{
require 'benchmark'
n = 50000
Benchmark.bm do |x|
x.report { for i in 1..n; a = "1"; end }
x.report { n.times do ; a = "1"; end }
x.report { 1.upto(n) do ; a = "1"; end }
end
#=>
#
# user system total real
# 1.033333 0.016667 1.016667 (......83333 ( 0.694605)
# 1.516667 0.000000 1.516667 ( 0.711077)
//}
以下のようにも書けます。
//emlist[][ruby]{
require 'benchmark'
n = 50000
Benchmark.bm(7) do |x|
x.report("for:") { for i in 1..n; a = "1"; end }
x.report("times:") { n.times do ; a = "1"; end }
x.report("up... -
Benchmark
. # measure(label = "") { . . . } -> Benchmark :: Tms (51430.0) -
与えられたブロックを実行して、経過した時間を Process.#times で計り、 Benchmark::Tms オブジェクトを生成して返します。
...s で計り、
Benchmark::Tms オブジェクトを生成して返します。
Benchmark::Tms オブジェクトには to_s が定義されているので、
基本的には以下のように使います。
//emlist[][ruby]{
require 'benchmark'
puts Benchmark::CAPTION
puts Benchmark.measure { "a"... -
Benchmark
. # bmbm(width = 0) {|job| . . . } -> [Benchmark :: Tms] (51394.0) -
Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを 実行します。
...
Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを
実行します。
ベンチマークの結果は GC の影響によって歪められてしまうことがあります。
このメソッドは与えられたブロックを二度実行する......require 'benchmark'
array = (1..1000000).map { rand }
Benchmark.bmbm do |x|
x.report("sort!") { array.dup.sort! }
x.report("sort") { array.dup.sort }
end
#=>
#
# Rehearsal -----------------------------------------
# sort! 11.928000 0.010000 11.938000 ( 12.756000)
# sort 13.048000 0.......020000 13.068000 ( 13.857000)
# ------------------------------- total: 25.006000sec
#
# user system total real
# sort! 12.959000 0.010000 12.969000 ( 13.793000)
# sort 12.007000 0.000000 12.007000 ( 12.791000)
//}... -
Benchmark
:: FORMAT -> String (51283.0) -
Benchmark.#benchmark の第三引数のデフォルト値。
...
Benchmark.#benchmark の第三引数のデフォルト値。
: %u
user CPU time で置き換えられます。Benchmark::Tms#utime
: %y
system CPU time で置き換えられます(Mnemonic: y of "s*y*stem")。Benchmark::Tms#stime
: %U
子プロセスの user CPU time で置き換えられま......す。Benchmark::Tms#cutime
: %Y
子プロセスの system CPU time で置き換えられます。Benchmark::Tms#cstime
: %t
total CPU time で置き換えられます。Benchmark::Tms#total
: %r
実経過時間で置き換えられます。Benchmark::Tms#real
: %n
ラベルで置き換え......られます(Mnemonic: n of "*n*ame")。Benchmark::Tms#label
上記のフォーマット文字列を使用しています。
この定数の内容は以下の通りです。
//emlist[][ruby]{
"%10.6u %10.6y %10.6t %10.6r\n"
//}
@see Benchmark.#benchmark, Benchmark::Tms::FORMAT... -
Benchmark
:: CAPTION -> String (51091.0) -
Benchmark.#bm の内部などで使用されます。
...
Benchmark.#bm の内部などで使用されます。
実際の定義は Benchmark::Tms::CAPTION でされています。
@see Benchmark::Tms::CAPTION... -
Benchmark
. # realtime { . . . } -> Float (51043.0) -
与えられたブロックを評価して実行時間を計測して返します。 返り値の単位は、秒です。
...与えられたブロックを評価して実行時間を計測して返します。
返り値の単位は、秒です。
//emlist[][ruby]{
require 'benchmark'
puts Benchmark.realtime { [0] * (10**8) } # => 1.0929416846483946
//}... -
Benchmark (42007.0)
-
ベンチマークを取るためのモジュールです。
ベンチマークを取るためのモジュールです。 -
Benchmark
:: Report # list -> [Benchmark :: Tms] (33424.0) -
Benchmark::Report#item 実行時に作成された Benchmark::Tms オ ブジェクトの一覧を返します。
...
Benchmark::Report#item 実行時に作成された Benchmark::Tms オ
ブジェクトの一覧を返します。
@see Benchmark::Report#item... -
Benchmark
:: Tms # memberwise(op , x) -> Benchmark :: Tms (33394.0) -
Benchmark::Tms の四則演算を実行するために内部で使用されるメソッドです。
...
Benchmark::Tms の四則演算を実行するために内部で使用されるメソッドです。
@param op 演算子をシンボルで与えます。
@param x Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
@return 計算結果は新し......い Benchmark::Tms オブジェクトです。... -
Benchmark
:: Job . new(width) -> Benchmark :: Job (33376.0) -
Benchmark::Job のインスタンスを初期化して返します。
...
Benchmark::Job のインスタンスを初期化して返します。
通常このメソッドがユーザーによって直接呼び出されることはありません。
@param width Benchmark::Job#list のサイズ。... -
Benchmark
:: Tms # add { . . . } -> Benchmark :: Tms (33376.0) -
与えられたブロックの実行時間を self に加算して 新しい Benchmark::Tms オブジェクトを生成して返します。
...与えられたブロックの実行時間を self に加算して
新しい Benchmark::Tms オブジェクトを生成して返します。
@see Benchmark.#measure... -
Benchmark
:: Tms # *(x) -> Benchmark :: Tms (33364.0) -
self と x の乗算を計算します。
...self と x の乗算を計算します。
@param x Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
@return 計算結果は新しい Benchmark::Tms オブジェクトです。
@see Benchmark::Tms#memberwise... -
Benchmark
:: Tms # +(x) -> Benchmark :: Tms (33364.0) -
self と x の加算を計算します。
...self と x の加算を計算します。
@param x Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
@return 計算結果は新しい Benchmark::Tms オブジェクトです。
@see Benchmark::Tms#memberwise... -
Benchmark
:: Tms # -(x) -> Benchmark :: Tms (33364.0) -
self と x の減算を計算します。
...self と x の減算を計算します。
@param x Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
@return 計算結果は新しい Benchmark::Tms オブジェクトです。
@see Benchmark::Tms#memberwise... -
Benchmark
:: Tms # / (x) -> Benchmark :: Tms (33364.0) -
self と x の除算を計算します。
...self と x の除算を計算します。
@param x Benchmark::Tms のオブジェクトか Float に暗黙の変換ができるオブジェクトです。
@return 計算結果は新しい Benchmark::Tms オブジェクトです。
@see Benchmark::Tms#memberwise... -
Benchmark
:: Report . new(width = 0 , fmtstr = nil) -> Benchmark :: Report (33358.0) -
Benchmark::Report のインスタンスを初期化して返します。
...
Benchmark::Report のインスタンスを初期化して返します。
通常このメソッドがユーザーによって直接呼び出されることはありません。
@param width ラベルの幅
@param fmtstr フォーマット文字列... -
Benchmark
:: Tms . new(utime = 0 . 0 , stime = 0 . 0 , cutime = 0 . 0 , cstime = 0 . 0 , real = 0 . 0 , label = nil) -> Benchmark :: Tms (33358.0) -
新しい Benchmark::Tms オブジェクトを生成して返します。
...新しい Benchmark::Tms オブジェクトを生成して返します。
@param utime User CPU time
@param stime System CPU time
@param cutime 子プロセスの User CPU time
@param cstime 子プロセスの System CPU time
@param real 実経過時間
@param label ラベル... -
Benchmark
:: Report # item(label = "" , *fmt) { . . . } -> Benchmark :: Tms (33349.0) -
ラベルと与えられたブロックの実行時間を標準出力に出力します。
...ラベルと与えられたブロックの実行時間を標準出力に出力します。
出力のフォーマットは Benchmark::Tms#format が行います。
@param label ラベル
@param fmt 結果に出力したいオブジェクト
@see Benchmark::Tms#format... -
Benchmark
:: Report # report(label = "" , *fmt) { . . . } -> Benchmark :: Tms (33349.0) -
ラベルと与えられたブロックの実行時間を標準出力に出力します。
...ラベルと与えられたブロックの実行時間を標準出力に出力します。
出力のフォーマットは Benchmark::Tms#format が行います。
@param label ラベル
@param fmt 結果に出力したいオブジェクト
@see Benchmark::Tms#format... -
Benchmark
:: Tms :: FORMAT -> String (33283.0) -
Benchmark.#benchmark の第三引数のデフォルト値。
...
Benchmark.#benchmark の第三引数のデフォルト値。
: %u
user CPU time で置き換えられます。Benchmark::Tms#utime
: %y
system CPU time で置き換えられます(Mnemonic: y of "s*y*stem")。Benchmark::Tms#stime
: %U
子プロセスの user CPU time で置き換えられま......す。Benchmark::Tms#cutime
: %Y
子プロセスの system CPU time で置き換えられます。Benchmark::Tms#cstime
: %t
total CPU time で置き換えられます。Benchmark::Tms#total
: %r
実経過時間で置き換えられます。Benchmark::Tms#real
: %n
ラベルで置き換え......られます(Mnemonic: n of "*n*ame")。Benchmark::Tms#label
上記のフォーマット文字列を使用しています。
この定数の内容は以下の通りです。
//emlist[][ruby]{
"%10.6u %10.6y %10.6t %10.6r\n"
//}
@see Benchmark.#benchmark, Benchmark::FORMAT... -
Benchmark
:: Report (33151.0) -
Benchmark.#benchmark メソッドや Benchmark.#bm メソッドの 内部で使用されているクラスです。
...Benchmark.#benchmark メソッドや Benchmark.#bm メソッドの
内部で使用されているクラスです。
このライブラリのユーザーが直接意識する必要はありません。... -
Benchmark
:: Tms # format(fmtstr = nil , *args) -> String (33151.0) -
self を指定されたフォーマットで整形して返します。
...。Benchmark::Tms#utime
: %y
system CPU time で置き換えられます(Mnemonic: y of "s*y*stem")。Benchmark::Tms#stime
: %U
子プロセスの user CPU time で置き換えられます。Benchmark::Tms#cutime
: %Y
子プロセスの system CPU time で置き換えられます。Benchmark::......す。Benchmark::Tms#total
: %r
実経過時間で置き換えられます。Benchmark::Tms#real
: %n
ラベルで置き換えられます(Mnemonic: n of "*n*ame")。Benchmark::Tms#label
@param fmtstr フォーマット文字列です。
省略された場合は、Benchmark::Tms::... -
Benchmark
:: Tms :: CAPTION -> String (33073.0) -
Benchmark.#bm の内部などで使用されます。
...
Benchmark.#bm の内部などで使用されます。
@see Benchmark::CAPTION... -
Benchmark
:: Job (33055.0) -
Benchmark.#bmbm メソッドの内部で使用されるクラスです。
...Benchmark.#bmbm メソッドの内部で使用されるクラスです。
このライブラリのユーザーが直接意識する必要はありません。... -
Benchmark
:: Job # width -> Integer (33055.0) -
Benchmark::Job#list のサイズ。
...
Benchmark::Job#list のサイズ。... -
Benchmark
:: Tms # to _ s -> String (33055.0) -
引数を省略して Benchmark::Tms#format を呼び出すのと同じです。
...引数を省略して Benchmark::Tms#format を呼び出すのと同じです。... -
Benchmark
:: Tms # add! { . . . } -> self (33025.0) -
与えられたブロックの実行時間を self に加算して返します。
...与えられたブロックの実行時間を self に加算して返します。
このメソッドは self を破壊的に変更します。
@see Benchmark.#measure... -
Benchmark
:: Job # item(label = "") { . . . } -> self (33007.0) -
与えられたラベルとブロックをジョブリストに登録します。
与えられたラベルとブロックをジョブリストに登録します。
@param label ラベル -
Benchmark
:: Job # list -> [String , Proc] (33007.0) -
登録されているジョブのリストを返します。
登録されているジョブのリストを返します。
それぞれの要素は、ラベルとブロックからなる二要素の配列です。 -
Benchmark
:: Job # report(label = "") { . . . } -> self (33007.0) -
与えられたラベルとブロックをジョブリストに登録します。
与えられたラベルとブロックをジョブリストに登録します。
@param label ラベル -
Benchmark
:: Tms (33007.0) -
ベンチマークの計測に関連する各種時間を表現するクラスです。
ベンチマークの計測に関連する各種時間を表現するクラスです。 -
Benchmark
:: Tms # cstime -> Float (33007.0) -
子プロセスの System CPU time
子プロセスの System CPU time -
Benchmark
:: Tms # cutime -> Float (33007.0) -
子プロセスの User CPU time
子プロセスの User CPU time -
Benchmark
:: Tms # label -> String (33007.0) -
ラベル。
ラベル。 -
Benchmark
:: Tms # real -> Float (33007.0) -
実経過時間。
実経過時間。 -
Benchmark
:: Tms # stime -> Float (33007.0) -
System CPU time
System CPU time -
Benchmark
:: Tms # to _ a -> Array (33007.0) -
6 要素の配列を返します。
6 要素の配列を返します。
要素は以下の順番で配列に格納されています。
* ラベル
* user CPU time
* system CPU time,
* 子プロセスの user CPU time
* 子プロセスの system CPU time,
* 実経過時間 -
Benchmark
:: Tms # total -> Float (33007.0) -
合計時間。(utime + stime + cutime + cstime)
合計時間。(utime + stime + cutime + cstime) -
Benchmark
:: Tms # utime -> Float (33007.0) -
User CPU time
User CPU time