実行時間を調べるため、benchを取ろうと思いスクリプトを書いたけど、標準ライブラリで便利そうなのがあることに気がついた。
module Benchmark

実行時間調べるだけなら

start = Time.now

sleep 1

puts "実行時間 #{Time.now - start}"
とかでもいいんだけど、標準であるなら使う方が良いと思います。

sleepで 標準ライブラリと、Timeの引算で比較すると、

実行時間 1.005017 <- Timeの引算

実行時間 1.004155123140663 <- Benchmark.realtime


という結果で、 ほんの少しの差はあるもの計測時間はさほど変わりません。

 


Benchmark.realtimeでの計測の仕方は以下の通りになります。
使い方も単純で、
Benchmark.realtime do
  sleep 1
end

他にも bmで CPU使用時間(user, system) と計測できたり便利そうだなというん印象でした。




パーフェクトRuby (PERFECT SERIES 6)
Rubyサポーターズ
技術評論社
2013-08-10