近況

 相変わらずbm_so_*.rbを動かそうとしています。現状はこんな感じです。動かないものの理由もだいたい調べています。ファイル名の後に*がついているのはbm_so_*.rbを書き換えて動かしたものです。
こうしてみるとbm_so_*.rbっていろいろな機能がまんべんなく使われていて結構いいテストプログラムだなと思いました。

プログラム名 Ruby1.9.2 yarv2llvm 動かない理由
bm_so_ackermann.rb 0m2.724s 0m0.792s
bm_so_array.rb 0m4.152s 0m1.436s
bm_so_binary_trees.rb 0m27.688s 0m7.080s
bm_so_concatenate.rb 0m1.176s 0m1.204s
bm_so_count_words.rb* 0m0.896s 0m1.784s File.joinがrb_define_singleton_methodでargcが-2なのだがそれをサポートしていない。File.joinを使わないように書き換える
bm_so_exception.rb 0m2.964s 例外処理が実装されていない
bm_so_fannkuch.rb 0m48.856s 0m35.200s
bm_so_fasta.rb 0m6.340s lengthメソッドがString, Arrayの両方で呼ばれているので多相メソッドディスパッチを実装する必要がある
bm_so_k_nucleotide.rb 正規表現のマッチ等を実装していない 
bm_so_lists.rb 0m0.936s 0m1.152s
bm_so_mandelbrot.rb 0m17.836s 0m1.648s
bm_so_matrix.rb 0m1.092s 0m1.424s
bm_so_meteor_contest.rb 0m17.000s クラス変数を実装していない
bm_so_nbody.rb 0m13.760s 0m4.904s
bm_so_nested_loop.rb 0m3.044s 0m0.764s
bm_so_nsieve.rb 0m9.560s 0m3.632s
bm_so_nsieve_bits.rb 0m8.340s Fixnun#[]が実装されていない
bm_so_object.rb 0m2.616s 0m2.080s
bm_so_partial_sums.rb 0m16.096s 0m2.748s
bm_so_pidigits.rb 0m3.220s Bignumが実装されていない
bm_so_random.rb 0m1.056s 0m0.864s
bm_so_reverse_complement.rb 正規表現のマッチ等を実装していない
bm_so_sieve.rb 0m0.252s 0m0.812s
bm_so_spectralnorm.rb* 0m13.188s 0m1.924s 型推論がうまくいかなくて多相形ディスパッチが必要になる。変数の初期値(整数型として使っているのにnilが入っている)を変更