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

ao benchを高速化しているのですが、うまく行かない

今は、なんだかんだ忙しいのであまりプログラムをいじっていないのですが、時間があるとao benchを高速化することに凝っています。いろいろ試しているのですが、いまいち効果がでません。例えばこんなことを試してみました。 インスタンス変数はGCの関係上BO…

setn命令をサポートしたら速度が落ちた

YARVにはsetnという命令があります。これをずっとサポートしていなかったのですが、なぜかAOベンチはこの命令を使っているのに動いていました。それはこういう状況で使っているからです。 if isect.hit then col = ambient_occlusion(isect) rad.x = rad.x +…

SDLが使えるようになりました.

不完全ですが、yarv2llvmからRuby/SDLを介してSDLが使えるようになりました。こんな手順で使えます。 Ruby/SDLをインストールしてください(http://www.kmc.gr.jp/~ohai/rubysdl.html) yarv2llvmについては、ここのもの(SDLブランチ)を使ってください(http://…

でもって今は

今は、yarv2llvmでRuby/SDLを動かそうとしています。今は、ウインドウが一瞬でてすぐ終わるというところまでできました。Ruby/SDLで定義されているメソッドやクラスの型情報を付加すると動きそうです。 本当はdxRubyが速そうで動かしてみたいのだけど、Cygwi…

エスケープ解析中断しています

エスケープ解析ですが、aoベンチに適用してみると、効果がなさそうなので中断しています。適用できる場所そのものは結構あるのですが、適用できるのがトップレベルに近い寿命の長いあまりアロケーションしないオブジェクトで、本当に適用して欲しいループの…

エスケープ解析うまく行きそうです

ちょっと試してみたら、結構うまく行きそうです。でも、ちゃんとチェックしないと訳の分からないGCのエラーでひどい目にあいそうなので、しっかりチェックします。 変更点がここにあります。 http://github.com/miura1729/yarv2llvm/commit/83758bd5c935227b…