2009-02-01から1ヶ月間の記事一覧

とりあえず資料を作って悲しくなった

ささださん、cranebirdさん コメントありがとうございます。 資料を作ってみました。 http://cloud.github.com/downloads/miura1729/yarv2llvm/yarv2llvm-ura.pdfなんていうか・・・、自分でもこんなわけわからない話だったけ?と驚いています。 少しずつア…

この話聞いてくれる人いますか

shiroさんの記事「Gauche:MultiPhaseMacro(http://practical-scheme.net/wiliki/wiliki.cgi?Gauche%3aMultiPhaseMacro)」が面白いです。 yarv2llvmでも同じようなことを考えています。yarv2llvmでは、IFormをコードを生成するクロージャーとして表現していま…

第2回LLVM勉強会で喋らさせてもらうことになりました

お久しぶりです。なんと第2回LLVM勉強会で喋らせてもらうことになりました。更新が滞っていますが、スライドやなんやらを作っていたわけです。 普通に喋っていても声が裏返ってハングアップする私がそんなことしていいのか? と思いましたが、このチャンス…

測定条件を書いていなかった

AOベンチマーク、条件を書き忘れていたので書いておきますCPU Pentium 4 2.80GHz OS Windows XP + cygwin time (ruby19 sample/ao-render.rb > ao2.ppm) real 9m16.033s user 8m34.140s sys 0m0.155s time ruby19 yarv2llvm.rb --no-type-message sample/ao-…

AOベンチ高速化計画 (その2.7)

その2.5の考え方を実装してみました。その結果、速度が約30%向上しました。 time ruby19 yarv2llvm.rb --no-type-message sample/ao-render.rb > ao.ppm real 2m20.572s user 2m19.763s sys 0m0.624s 最初のバージョンはrealが3分20秒くらいでした。これだと…

AOベンチ高速化計画 (その2.5)

ヒットしたらコア吐くようにして調べてみたらキャッシュにヒットしていないことがわかりました。クラスをキーにするのは効果あるけど、オブジェクトでは変化が激しくてダメみたいです。同じクラスならオブジェクトの先頭からインスタンス変数のオフセットが…

占いについて

今日の占いを見てみたら、> 恋人にねだられて、有り金をはたいてしまうハメになることも。とのことなのですが、恋人のいない私にはどういう風になるとこの占いはあたりなのでしょうか? 恋人にねだられることが無いからはずれ 恋人がいるという前提が偽だか…

AOベンチ高速化計画(その2)

細かいパラメータをいじって、 time ruby19 yarv2llvm.rb --no-type-message sample/ao-render.rb > ao.ppm real 2m48.370s user 2m46.888s sys 0m0.732sという記録を出しました。前は200秒だったので、15%くらい速くなっています。いじったパラメータはメソ…

AOベンチ高速化計画(その1)

AOベンチを高速化してみましょうという企画を始めます。まずは、プロファイルを取ってみました。いつの間にかエンバグしてプロファイラが動かなくなってました。とりあえず直したので、試したい人(果たしているのだろうか?)は最新版にしておいてください。 …

AOベンチを移植した

yarv2llvmにAOベンチを移植しました。AOベンチはSyoyo Fujitaさんが作成したレンダラでベンチマークに使うため色々な言語に移植されています。詳しくは、http://lucille.atso-net.jp/aobench/を参照してください。 今回移植したyarv2llvm版はRuby1.9でも動く…

Inside yarv2llvm(その6)

イテレータ(ブロック付メソッド呼び出しの方が正確なのかな?)の説明です。yarv2llvmではイテレータに渡すブロックはクロージャーとして実現しています。言い換えると、イテレータは無名のクロージャーを引数に渡すメソッドであるといえます。例えば、 class…