Rubyでベンチマークを取る
Rubyについて調べてると、そこかしこのサイトでRubyプログラムの処理速度を出しているところがあったんですが、どうすれば出せるかを理解してなかったので、ちゃんと調べた結果をメモしておきます。
Rubyでベンチマーク測定
なんとRubyでは、標準で処理速度測定用のモジュールが用意されていました。
うーん、今更ながらRuby便利すぎる。
プログラム
require 'benchmark' Benchmark.bm 10 do |x| x.report "concat1" do str1 = "" 100000.times do str1 += "str" end end x.report "concat2" do str2 = "" 100000.times do str2 << "str" end end end
実行結果
user system total real concat1 2.184000 3.510000 5.694000 ( 5.697419) concat2 0.000000 0.015000 0.015000 ( 0.018270)
とりあえず、サンプルがてら文字列連結を+演算子で処理するバージョンと、<<演算子で処理するバージョンを比較。
その結果、まあやはりというか、処理速度という点では破壊的バージョンの方が優れているという事になりましたとさ。