例えば foo.rbというRubyスクリプトの実行時間をシェル上で知りたかったらtime foo.rbとすればいいわけですが、残念ながらirb上ではtimeコマンドをそのまま使うことができません。

解決策

標準で用意されているBenchmarkライブラリを使えばOK.

irb(main)> require 'benchmark'
irb(main)> puts Benchmark.measure { "a"*1_000_000_000 }
0.350000   0.400000   0.750000 (  0.835234)

こんな感じで表示されます。

0.750000がCPUを使った時間で0.835234が実際にかかった時間。

気にしないといけないのはCPUを実際に使ってたじかんなので前者のほうになります。

ちなみに自分の環境だと裏で動画のエンコードを走らせながらVirtualBox上のOSでやってたのでCPU使用時間の50倍ぐらい実際にかかってしまってました。

参考

[Module: Benchmark (Ruby 2.1.1)][1]

[When benchmarking, what causes a lag between CPU time and “elapsed real time”? – Stack Overflow][2]