Rubyのifとcase、どちらの処理が速いのかベンチマークを測定してみた。
標準でbenchmarkというライブラリがあるが、どうも使いにくいので簡単にやります。
2通りの結果しかない場合は、if、elseを使えば良いと思うので、
3通りに条件を分岐するという前提でやってみます。
a="d"
n=1000000
st=Time.now
n.times{
if a=="a"
elsif a=="b"
elsif a=="c"
else end
}
puts "if Times: #{Time.now-st}s"
st=Time.now
n.times{
case a
when "a"
when "b"
when "c"
else
end
}
puts "case Times: #{Time.now-st}s"
100万回回してみました。この記事にトラックバックする