Rubyで特定の箇所の処理に要する時間を計測したい場合、これまでは
1
2
3
4
5
start_time = Time.now
# ・・・
# (計測対象の処理)
# ・・・
puts Time.now - start_time
なんてコードを書いたりしていたのですが、Rubyには標準モジュールとして benchmark が用意されており、これを使えば簡単に計測が可能なのでした。
複数の処理を一度に計測でき、余計な代入処理が無いのでコード的にも心理的にも(?)良い感じです。
複数の結果もそれぞれ任意のラベルを付けて、見やすい形で出力可能です。
検証環境
Ruby 2.7.1 / 2.1.1