Rubyで特定の箇所の処理に要する時間を計測したい場合、これまでは

1
2
3
4
5
start_time = Time.now
  # ・・・
  # (計測対象の処理)
  # ・・・
puts Time.now - start_time

なんてコードを書いたりしていたのですが、Rubyには標準モジュールとして benchmark が用意されており、これを使えば簡単に計測が可能なのでした。

複数の処理を一度に計測でき、余計な代入処理が無いのでコード的にも心理的にも(?)良い感じです。
複数の結果もそれぞれ任意のラベルを付けて、見やすい形で出力可能です。

検証環境

Ruby 2.7.1 / 2.1.1