Ruby 割り算の余りを求める「modulo」と「%」演算子のパフォーマンスを計測する
Rubyで、benchmarkを使用して、割り算の余りを求める「modulo」と「%」演算子のパフォーマンスを計測するサンプルコードを記述してます。rubyのバージョンは2.7.2を使用してます。
環境
- OS windows10 pro 64bit
- ruby 2.7.2p137
パフォーマンス計測
benchmarkを使用して、「modulo」と「%」演算子を使用して、割り算の余りを求めるコードを1000万回実行したパフォーマンスを計測するサンプルコードとなります。
require 'benchmark'
# 繰り返し回数 1000万回
i = 10000000
# 10は、reportラベルに使用する桁数
Benchmark.bm 10 do |r|
r.report '#modulo' do
i.times do
5.modulo(3)
end
end
r.report '#%' do
i.times do
5 % 3
end
end
end
実行結果
<1回目>
user system total real
#modulo 0.625000 0.000000 0.625000 ( 0.620812)
#% 0.516000 0.000000 0.516000 ( 0.525003)
<2回目>
user system total real
#modulo 0.594000 0.000000 0.594000 ( 0.598925)
#% 0.531000 0.000000 0.531000 ( 0.554996)
<3回目>
user system total real
#modulo 0.704000 0.000000 0.704000 ( 0.693880)
#% 0.578000 0.000000 0.578000 ( 0.604295)
「%」の方が、パフォーマンスは良さそうにみえます。
-
前の記事
React.js ライブラリ「react-copy-mailto」を使ってメールアドレスのコピーを簡単に行う 2020.12.08
-
次の記事
CSS3で装飾 三角矢印つきテーブル 2020.12.08
コメントを書く