近況
相変わらず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が入っている)を変更 |