Ruby2.0から、Ruby2.1にアップデートされ、
素数ライブラリ「Prime」の計算速度が大きく向上したようです。
そこで、ベンチマークをしてバージョン「2.0.0-p353」と「2.1.0-p0」の処理時間を比べてみました。
ベンチマークに使ったのは、5,000,000までの素数の配列を変数に格納するプログラムです。
benchmark_prime.rb
require 'prime'
start_time = Time.now
primes = Prime.each(5000000).to_a
puts "処理時間: #{Time.now - start_time} [秒]"
バージョンの切り替えはrbenvを使いました。
$ rbenv global 2.0.0-p353
$ ruby benchmark_prime.rb
$ rbenv global 2.1.0
$ ruby benchmark_prime.rb
結果
(環境:Ubuntu 12.04LTS, CPU Celeron Dual-Core 1.2GHz)
バージョン | 2.0.0-p353 | 2.1.0-p0 |
---|---|---|
処理時間[秒] | 65.58 | 2.50 |
このプログラムだとRuby2.1では2.0に比べて約3.8%の処理時間で実行できることが分かりました。
環境やプログラムに依存することが大きいと思うので、色々試していただければと思います。