【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

高速化

id:n7shi:20100727でAlpha逆アセンブラインタプリタ上で動かしましたが、あまりにも遅かったです。使用しているすべてのlibc関数をfopen()等と同じようにF#でインタプリタ側に実装して、ループの無駄等を見直しました。その結果、約10倍ほど高速化しました。

ある種のチートですが、インタプリタ言語ではよくある構造だと思います。Alphaコードの実行はインタプリタのままでJITは行っていません。JITがなくてもこのくらいの速度が確保できれば、簡易Cコンパイラホスティングも視野に入りそうです。