Hatena::ブログ(Diary)

”><xmp>TokuLog 改メ tokuhirom’s blog このページをアンテナに追加 RSSフィード

Faster.pm の中身の話

mlehmann の Faster.pm という PerlJIT があるのだが、これの仕組み。

  • op_entersub をフックする
  • op_entersub にはいるタイミングで発動!
    • op tree を C のコードに変換する
    • cc する
    • dynaloader でよみこむ

といった具合。基本的には Shibuya.pm で発表済のだれでもしっているようなテクニックをつかっている。

これはだいたい 20% ぐらいはやくなるらしい。まあ妥当なかんじか。とはいえテストとおらないしまともにうごかないので、本当かどうかはわからない。

結局 run_ops まわりの部分がインラインで最適化されるという点におけるメリットぐらいで、各 opcode の操作はそれぞれの中でやっているわけだから、納得できる数字かとおもう。ただ、実際にそのテストにつかったコードってのがないんで、なんともいえないけど。

実用という点で評価した場合、Faster.pm は op_entersub をフックしているのがきびしい。せめて lexical scope でうごくか、optimize(\&code) のような形式になる方が使いやすいのではないか。

uvlvycw46uvlvycw46 2010/02/05 17:22 アヘ顔
アヘ顔になるような、どんな凄まじいことが下半身で行われているんだろうね
http://moenews.goto-ex.com/tag/%83A%83w%8A%E7/

uvlvycw46uvlvycw46 2010/02/05 17:23 北斗無双のマミヤがセクスィ!でも、ゲーム自体はちゃんとバイオレンス。
http://animeinfo.goto-ex.com/tag/%96k%93l%96%B3%91o/

投稿したコメントは管理者が承認するまで公開されません。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/tokuhirom/20100204/1265286603