るりまサーチ

最速Rubyリファレンスマニュアル検索!
44件ヒット [1-44件を表示] (0.011秒)

別のキーワード

  1. benchmark report
  2. thread report_on_exception
  3. thread report_on_exception=
  4. _builtin report_on_exception
  5. _builtin report_on_exception=

種類

ライブラリ

モジュール

キーワード

検索結果

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

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

...を返す場合に指定します。

//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.0333...
...うにも書けます。

//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 }
end

#=>
# user system...
...場合

//emlist[][ruby]{
require 'benchmark'

n = 50000
Benchmark.bm(7, ">total:", ">avg:") do |x|
tf = x.report("for:") { for i in 1..n; a = "1"; end }
tt = x.report("times:") { n.times do ; a = "1"; end }
tu = x.report("upto:") { 1.upto(n) do ; a = "1"; end }
[tf + tt + tu, (tf + tt...

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

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

...ベルの幅を指定します。

//emlist[][ruby]{
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.0...

Benchmark::Report (6016.0)

Benchmark.#benchmark メソッドや Benchmark.#bm メソッドの 内部で使用されているクラスです。

...Benchmark.#benchmark メソッドや Benchmark.#bm メソッドの
内部で使用されているクラスです。

このライブラリのユーザーが直接意識する必要はありません。...

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

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

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

基本的には以下のように使います。
ブロックが Benchmark::Tms オブジェクトの配列を返した場合は、
それらの数値も追加の行に表示...
...# これは
# Benchmark.bm(7, ">total:", ">avg:") do |x| ... end
# と同じ
Benchmark.benchmark(" "*7 + Benchmark::CAPTION,
7,
Benchmark::FORMAT,
">total:",
">avg:") do |x|

tf = x.report("for:") { for i in 1..n;...
...a = "1"; end }
tt = x.report("times:") { n.times do ; a = "1"; end }
tu = x.report("upto:") { 1.upto(n) do ; a = "1"; end }

[tf+tt+tu, (tf+tt+tu)/3]
end

#=>
#
# user system total real
# for: 1.016667 0.016667 1.033333 ( 0.485749)
# times: 1.450000...