77件ヒット
[1-77件を表示]
(0.124秒)
ライブラリ
- benchmark (77)
検索結果
先頭5件
-
Benchmark
. # realtime { . . . } -> Float (6101.0) -
与えられたブロックを評価して実行時間を計測して返します。 返り値の単位は、秒です。
...与えられたブロックを評価して実行時間を計測して返します。
返り値の単位は、秒です。
//emlist[][ruby]{
require 'benchmark'
puts Benchmark.realtime { [0] * (10**8) } # => 1.0929416846483946
//}... -
Benchmark
:: BENCHMARK _ VERSION -> String (6101.0) -
benchmark ライブラリのバージョンを表します。
...
benchmark ライブラリのバージョンを表します。... -
Benchmark
:: CAPTION -> String (6101.0) -
Benchmark.#bm の内部などで使用されます。
...
Benchmark.#bm の内部などで使用されます。
実際の定義は Benchmark::Tms::CAPTION でされています。
@see Benchmark::Tms::CAPTION... -
Benchmark
. # bm(label _ width = 0 , *labels) {|rep| . . . } -> [Benchmark :: Tms] (119.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 (......0000 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("upto:") { 1.upto(n) do ; a = "1"; end... -
Benchmark
. # benchmark(caption = "" , label _ width = nil , fmtstr = nil , *labels) {|rep| . . . } -> [Benchmark :: Tms] (107.0) -
Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。
...
Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。
基本的には以下のように使います。
ブロックが Benchmark::Tms オブジェクトの配列を返した場合は、
それらの数値も追加の行に表示......す。
@param caption レポートの一行目に表示する文字列を指定します。
@param label_width ラベルの幅を指定します。
@param fmtstr フォーマット文字列を指定します。
この引数を省略すると Benchmark::FORMAT が使用......ロックが Benchmark::Tms オブジェクトの配列を返す場合に指定します。
=== フォーマット文字列
フォーマット文字列として以下が使用できます。
: %u
user CPU time で置き換えられます。Benchmark::Tms#utime
: %y
system CPU time で置き... -
Benchmark
. # bmbm(width = 0) {|job| . . . } -> [Benchmark :: Tms] (101.0) -
Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを 実行します。
...
Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを
実行します。
ベンチマークの結果は GC の影響によって歪められてしまうことがあります。
このメソッドは与えられたブロックを二度実行する......ても、GC などの影響を分離する
ことは保証されません。
@param width ラベルの幅を指定します。
//emlist[][ruby]{
require 'benchmark'
array = (1..1000000).map { rand }
Benchmark.bmbm do |x|
x.report("sort!") { array.dup.sort! }
x.report("sort") { array.dup.sor... -
Benchmark
:: FORMAT -> String (101.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...