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万回回してみました。
この記事にトラックバックする