例えば 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]

続きを読む

プロフィール画像

ironsand

語学好きのプログラマーです

Railsエンジニア

Yokohama