👌

Benchmark.realtime で Ruby のコードの実行時間を計測する

2025/03/02に公開

普段雑に Ruby のコードの実行時間を計測するときは以下のように Time.now を用いて計測することが多いです。

require "prime"

Time.now.tap { |start|
  (1..10_000_000).count { _1.prime? }
  puts "#{Time.now - start}"
}
# => 3.582016546

これでも大まかな計測はできるんですがこれと同様のことを行う Benchmark.realtime が利用できます。

Benchmark.realtime を用いて計測する

Benchmark.realtime ではブロック引数の実行時間を 秒単位 で計測して返します。

require "benchmark"
require "prime"

pp Benchmark.realtime {
  (1..10_000_000).count { _1.prime? }
}
# => 3.5369705320044886

どっちがどっちということはそこまでないと思うんですができるなら標準の機能は利用していきたいですねー。

GitHubで編集を提案

Discussion