るりまサーチ

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

別のキーワード

  1. rubygems/user_interaction new
  2. rubygems/user_interaction done
  3. rubygems/user_interaction count
  4. rubygems/user_interaction updated
  5. http proxy_user

ライブラリ

モジュール

キーワード

検索結果

<< < 1 2 >>

Benchmark.#bm(label_width = 0, *labels) {|rep| ... } -> [Benchmark::Tms] (37.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.033333 0...
...ます。

//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 total...
....533333 0.016667 1.550000 ( 0.735473)
# upto: 1.500000 0.016667 1.516667 ( 0.711239)
//}

集計を付けた場合

//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("time...

Kernel.#load(file, priv = false) -> true (37.0)

Ruby プログラム file をロードして実行します。再ロード可能です。

...ます。このとき、$: の要素文字列の先頭文字が
`~' (チルダ) だと、環境変数 HOME の値に展開されます。
また `~USER' はそのユーザのホームディレクトリに展開されます。

ロードに成功した場合は true を返します。

@param file...
...rnel.#require

=== require と load の違い

Kernel.#require は同じファイルは一度だけしかロードしませんが、
Kernel.#load は無条件にロードします。
また、require は拡張子.rb や .so を自動的に補完しますが、
load は行いません。
require
...

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

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

...字列として以下が使用できます。

: %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:...
...られます。Benchmark::Tms#real
: %n
ラベルで置き換えられます(Mnemonic: n of "*n*ame")。Benchmark::Tms#label

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

n = 50000

# これは
# Benchmark.bm(7, ">total:", ">avg:") do |x| ... end
# と同じ
Benchmark.benchmark(" "*7 + Benchmark::CAP...
...("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 0.016667 1.466667 ( 0.6813...

Etc.#getlogin -> String | nil (25.0)

自分の login 名を返します。得られなかった場合は nil を返します。

...c.#getpwuid に
フォールバックするとよいでしょう。

たとえば、環境変数 USER などもあわせて、以下のようにフォールバックできます。

//emlist[][ruby]{
require
"etc"
login_user = ENV['USER'] || ENV['LOGNAME'] || Etc.getlogin || Etc.getpwuid.name
//}...

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

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

...ても、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...
...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.#measure(label = "") { ... } -> Benchmark::Tms (13.0)

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

...は to_s が定義されているので、
基本的には以下のように使います。

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

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

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