Ruby 「三項演算子」と「if文」のパフォーマンスを計測する
Rubyで、benchmarkを使用して、「三項演算子」と「if文」のパフォーマンスを計測するサンプルコードを記述してます。rubyのバージョンは2.7.2を使用してます。
環境
- OS windows10 pro 64bit
- ruby 2.7.2p137
パフォーマンス計測
benchmarkを使用して、「三項演算子」と「if文」を使用して、条件式により処理を分岐するコードを1億回実行したパフォーマンスを計測するサンプルコードとなります。
require 'benchmark'
# 繰り返し回数 1億回
i = 100000000
x = 1
# 10は、reportラベルに使用する桁数
Benchmark.bm 10 do |r|
r.report '#三項演算子' do
i.times do
str1 = x == 1 ? "xは1" : "xは1以外"
end
end
r.report '#if' do
i.times do
str2 = if x == 1
"xは1"
else
"xは1と2以外"
end
end
end
end
実行結果
<1回目>
user system total real
#三項演算子 7.641000 0.000000 7.641000 ( 7.632914)
#if 7.875000 0.000000 7.875000 ( 7.898420)
<2回目>
user system total real
#三項演算子 8.063000 0.000000 8.063000 ( 8.362242)
#if 8.344000 0.016000 8.360000 ( 8.642226)
<3回目>
user system total real
#三項演算子 7.844000 0.016000 7.860000 ( 8.134246)
#if 8.140000 0.031000 8.171000 ( 8.473809)
「三項演算子」が、パフォーマンスは少し良さそうです。
-
前の記事
Vue3 ライブラリ「vue-share-buttons」を使用してシェアボタンを実装する 2021.07.15
-
次の記事
python pandasでDataFrameの列の合計値を求める 2021.07.15
コメントを書く