update.はじめにRubyでベンチマークするのはRuby標準のbenchmarkライブラリを使えば簡単にできます。簡単にベンチマークを取れるbenchmark-ipsというGemもあります。このGemは、RailsにContributionする際にベンチマークを取る方法として、公式に指定されてもいます。http://railsguides.jp/contributing_to_ruby_on_rails.html#ベンチマークを行う以下ではこの2つの使い方を簡単に見ていきます。second"の略になります。このGemでベンチマークすると「処理回数(イテレーション回数)/秒」を計測してくれます。次の項で説明するRuby標準のbenchmarkライブラリは自分で実行回数を指定しなければならないのですが、こちらはその手間がなく、かつ処理ごとに何倍の速度差があるかを出してくれるので便利です。benchmark-ipsコードの書き方は以下のとおり。slowerreportメソッドにテストの名前(必須ではない)と計測したい処理を渡します。一目で最速の処理や遅い処理は何倍遅いかを表示してくれるので便利です。細かい挙動は正直よくわかってないのですが、実行時に2つ指定できる設定があります。timeは計測する時間、warmupはおそらく処理のオーバーヘッドを少なくするために前処理(ウォーミングアップ)の時間を与えるものだと思います。##endGCベンチマークをしている時だけGCを無効にしたい場合も多々あると思いますが、その時は以下のリンク先のコードをコピペしてやれば大体OKhttps://github.com/evanphx/benchmark-ips#custom-suiteBenchmarkRuby標準ベンチマークライブラリの使い方は以下のとおりipsとの違いはイテレーション回数を指定しなければいけないことと、Benchmark.bmを呼び出すことでしょうか。基本的にはipsの方が便利なので、そっち使いましょう。