るりまサーチ

最速Rubyリファレンスマニュアル検索!
55件ヒット [1-55件を表示] (0.102秒)
トップページ > クエリ:-[x] > クエリ:r[x] > クエリ:real[x] > クエリ:REAL[x] > 種類:モジュール関数[x] > ライブラリ:benchmark[x]

別のキーワード

  1. _builtin readable_real?
  2. _builtin writable_real?
  3. _builtin executable_real?
  4. matrix real?
  5. matrix real

モジュール

キーワード

検索結果

Benchmark.#realtime { ... } -> Float (18403.0)

与えられたブロックを評価して実行時間を計測して返します。 返り値の単位は、秒です。

...与えられたブロックを評価して実行時間を計測して返します。
返り値の単位は、秒です。

//emlist[][ruby]{
r
equire 'benchmark'
puts Benchmark.realtime { [0] * (10**8) } # => 1.0929416846483946
//}...

Benchmark.#benchmark(caption = "", label_width = nil, fmtstr = nil, *labels) {|rep| ...} -> [Benchmark::Tms] (9333.0)

Benchmark::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。

...
Benchmark
::Report オブジェクトを生成し、それを引数として与えられたブロックを実行します。

基本的には以下のように使います。
ブロックが Benchmark::Tms オブジェクトの配列を返した場合は、
それらの数値も追加の行に表示...
...す。

@param caption レポートの一行目に表示する文字列を指定します。
@param label_width ラベルの幅を指定します。
@param fmtstr フォーマット文字列を指定します。
この引数を省略すると Benchmark::FORMAT が使用...
...れます。
@param labels ブロックが Benchmark::Tms オブジェクトの配列を返す場合に指定します。

=== フォーマット文字列

フォーマット文字列として以下が使用できます。

: %u
user CPU time で置き換えられます。Benchmark::Tms#utime
: %...

Benchmark.#measure(label = "") { ... } -> Benchmark::Tms (6215.0)

与えられたブロックを実行して、経過した時間を Process.#times で計り、 Benchmark::Tms オブジェクトを生成して返します。

...Process.#times で計り、
Benchmark
::Tms オブジェクトを生成して返します。

Benchmark
::Tms オブジェクトには to_s が定義されているので、
基本的には以下のように使います。

//emlist[][ruby]{
r
equire 'benchmark'

puts Benchmark::CAPTION
puts Benchmark....
...measure { "a"*1_000_000 }

#=>
#
# user system total real
# 1.166667 0.050000 1.216667 ( 0.571355)
//}...

Benchmark.#bm(label_width = 0, *labels) {|rep| ... } -> [Benchmark::Tms] (3239.0)

Benchmark.#benchmark メソッドの引数を簡略化したものです。

...
Benchmark
.#benchmark メソッドの引数を簡略化したものです。

Benchmark
.#benchmark メソッドと同様に働きます。

@param label_width ラベルの幅を指定します。
@param labels ブロックが Benchmark::Tms オブジェクトの配列を返す場合に指定し...
...ます。

//emlist[][ruby]{
r
equire '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 (...
...ist[][ruby]{
r
equire '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 }
end

#=>
# user system total real
# for:...

Benchmark.#bmbm(width = 0) {|job| ... } -> [Benchmark::Tms] (3215.0)

Benchmark::Job オブジェクトを生成して、それを引数として与えられたブロックを 実行します。

...
Benchmark
::Job オブジェクトを生成して、それを引数として与えられたブロックを
実行します。

ベンチマークの結果は GC の影響によって歪められてしまうことがあります。
このメソッドは与えられたブロックを二度実行する...
...rt を実行しますが、この実行時間は計測には
含まれません。しかし、実際にはこのメソッドを使用しても、GC などの影響を分離する
ことは保証されません。

@param width ラベルの幅を指定します。

//emlist[][ruby]{
r
equire 'benchmar...
...k'

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...

絞り込み条件を変える