jruby-1.0.0RC1を使ってみる(2)
この前、サンプルが動かないとかモサーリしてるとか書いたけど、ビルドがうまくできてないだけだった・・すいません。
あらためてJDK1.5.0_11とant1.7.0でビルド。
おかげさまでサンプルも動くようになりました。
でもよー・・
bird:# cat packages/jruby-1.0.0RC1/kakeru2.rb 0.upto(9999){|p| p*2} bird:# bird:# bird:# time ruby packages/jruby-1.0.0RC1/kakeru2.rb ruby packages/jruby-1.0.0RC1/kakeru2.rb 0.02s user 0.02s system 96% cpu 0.042 total bird:# time ruby packages/jruby-1.0.0RC1/kakeru2.rb ruby packages/jruby-1.0.0RC1/kakeru2.rb 0.02s user 0.04s system 99% cpu 0.056 total bird:# time ruby packages/jruby-1.0.0RC1/kakeru2.rb ruby packages/jruby-1.0.0RC1/kakeru2.rb 0.03s user 0.03s system 98% cpu 0.057 total bird:# time ruby packages/jruby-1.0.0RC1/kakeru2.rb ruby packages/jruby-1.0.0RC1/kakeru2.rb 0.02s user 0.04s system 100% cpu 0.060 total bird:# time ruby packages/jruby-1.0.0RC1/kakeru2.rb ruby packages/jruby-1.0.0RC1/kakeru2.rb 0.00s user 0.06s system 88% cpu 0.068 total bird:# bird:# bird:# time jruby packages/jruby-1.0.0RC1/kakeru2.rb jruby packages/jruby-1.0.0RC1/kakeru2.rb 0.28s user 1.29s system 98% cpu 1.592 total bird:# time jruby packages/jruby-1.0.0RC1/kakeru2.rb jruby packages/jruby-1.0.0RC1/kakeru2.rb 0.24s user 1.09s system 96% cpu 1.374 total bird:# time jruby packages/jruby-1.0.0RC1/kakeru2.rb jruby packages/jruby-1.0.0RC1/kakeru2.rb 0.31s user 1.04s system 97% cpu 1.392 total bird:# time jruby packages/jruby-1.0.0RC1/kakeru2.rb jruby packages/jruby-1.0.0RC1/kakeru2.rb 0.28s user 1.07s system 96% cpu 1.400 total bird:# time jruby packages/jruby-1.0.0RC1/kakeru2.rb jruby packages/jruby-1.0.0RC1/kakeru2.rb 0.32s user 1.04s system 96% cpu 1.405 total bird:#
おそいよ・・??
定番の郵便番号CSVパースを・・(KEN_ALL_1000.CSVは全国版の上位1000行)
bird:# cat ken.rb require "rubygems" require "faster_csv" n = 0 FasterCSV.foreach(ARGV.shift) do |row| n += 1 end puts n bird:# bird:# bird:# time ruby ken.rb KEN_ALL_1000.CSV 1000 ruby ken.rb KEN_ALL_1000.CSV 0.30s user 0.10s system 99% cpu 0.410 total bird:# time jruby ken.rb KEN_ALL_1000.CSV bird:# bird:# /home/bird/packages/jruby-1.0.0RC1/lib/ruby/gems/1.8/gems/fastercsv-1.2.0/lib/faster_csv.rb:1563:in `shift': Unclosed quoted field on line 1. (FasterCSV::MalformedCSVError) from /home/bird/packages/jruby-1.0.0RC1/lib/ruby/gems/1.8/gems/fastercsv-1.2.0/lib/faster_csv.rb:1430:in `loop' from /home/bird/packages/jruby-1.0.0RC1/lib/ruby/gems/1.8/gems/fastercsv-1.2.0/lib/faster_csv.rb:1566:in `shift' from /home/bird/packages/jruby-1.0.0RC1/lib/ruby/gems/1.8/gems/fastercsv-1.2.0/lib/faster_csv.rb:1430:in `each' from /home/bird/packages/jruby-1.0.0RC1/lib/ruby/gems/1.8/gems/fastercsv-1.2.0/lib/faster_csv.rb:990:in `foreach' from ken.rb:8:in `open' from /home/bird/packages/jruby-1.0.0RC1/lib/ruby/gems/1.8/gems/fastercsv-1.2.0/lib/faster_csv.rb:991:in `foreach' from ken.rb:8 jruby ken.rb KEN_ALL_1000.CSV 26.89s user 10.60s system 99% cpu 37.714 total
なんとエラー!
おっと、そういえばjrubyの方は別途jrubyのgemでfastercsvをインスコしたんです。
rubyとjrubyのgemは別々と・・
とりあえず行数だけカウントしてみる・・(KEN_ALL_3.CSVは全国版の3倍)
bird:# cat cnt.rb n = 0 ARGF.each do |row| n += 1 end puts n bird:# bird:# bird:# time ruby cnt.rb KEN_ALL3.CSV 365658 ruby cnt.rb KEN_ALL3.CSV 1.56s user 0.68s system 99% cpu 2.247 total bird:# time ruby cnt.rb KEN_ALL3.CSV 365658 ruby cnt.rb KEN_ALL3.CSV 1.77s user 0.90s system 99% cpu 2.675 total bird:# time ruby cnt.rb KEN_ALL3.CSV 365658 ruby cnt.rb KEN_ALL3.CSV 1.62s user 0.80s system 99% cpu 2.425 total bird:# time ruby cnt.rb KEN_ALL3.CSV 365658 ruby cnt.rb KEN_ALL3.CSV 1.57s user 0.73s system 100% cpu 2.303 total bird:# time ruby cnt.rb KEN_ALL3.CSV 365658 ruby cnt.rb KEN_ALL3.CSV 1.49s user 0.79s system 99% cpu 2.283 total bird:# bird:# bird:# time jruby cnt.rb KEN_ALL3.CSV 365658 jruby cnt.rb KEN_ALL3.CSV 7.25s user 1.97s system 99% cpu 9.308 total bird:# time jruby cnt.rb KEN_ALL3.CSV 365658 jruby cnt.rb KEN_ALL3.CSV 6.40s user 2.61s system 99% cpu 9.046 total bird:# time jruby cnt.rb KEN_ALL3.CSV 365658 jruby cnt.rb KEN_ALL3.CSV 6.63s user 2.00s system 99% cpu 8.676 total bird:# time jruby cnt.rb KEN_ALL3.CSV 365658 jruby cnt.rb KEN_ALL3.CSV 7.46s user 2.14s system 99% cpu 9.692 total bird:# time jruby cnt.rb KEN_ALL3.CSV 365658 jruby cnt.rb KEN_ALL3.CSV 7.51s user 2.09s system 99% cpu 9.639 total
やっぱりJavaVMの立ち上がりがおそいのか・・