6月5日にRubyの拡張ライブラリについて学習したのですが,ベンチマークをとるスクリプトがPerlになっていたので,Rubyで書いてみました。3ヶ月研修の報告書に載せるため用です。
20000番目の素数を求めるためにかかった処理時間を計測しています。
require 'benchmark' Benchmark.bm(15) do |x| x.report("Prime.rb") {system('ruby Prime.rb 20000 > /dev/null')} x.report("Prime_ext.rb") {system('(cd swig;ruby Prime_ext.rb 20000 > /dev/null)')} end
実行結果
Prime.rbは,Rubyだけで書かれていて,Prime_ext.rbは,拡張ライブラリを用いています。
mmasa@debian:~/work/ruby/ext/Prime$ ruby Bench.rb user system total real Prime.rb 0.000000 0.000000 8.210000 ( 8.325987) Prime_ext.rb 0.000000 0.000000 0.050000 ( 0.051160)